A GNSS signal processing method, comprising: a correlating process for correlating a GNSS signal with each of a first early replica signal (S RE) that is advanced from a prompt replica signal (S RP) by a first code phase, a first late replica signal (S RL) that is retarded from the prompt replica signal by the first code phase, a second early replica signal (S RVE) that is advanced from the prompt replica signal by a second code phase, and a second late replica signal (S RVL) that is retarded from the prompt replica signal by the second code phase; characterised by: a differential value calculating process for calculating an early differential value (ΔCV E) by subtracting a second early correlation value (CV VE) that is obtained based on the correlation result between the GNSS signal and the second early replica signal from a first early correlation value (CV E) that is obtained based on the correlation result between the GNSS signal and the first early replica signal, and calculating a late differential value (ΔCV L) by subtracting a second late correlation value (CV VL) that is obtained based on the correlation result between the GNSS signal and the second late replica signal from a first late correlation value (CV L) that is obtained based on the correlation result between the GNSS signal and the first late replica signal; an error detection value calculating process (S103, S104, S105) for setting an error calculating method based on signs of the early differential value and the late differential value, and calculating an error detection value by using the set error calculating method; and a code phase controlling process for controlling a code phase of the prompt replica signal based on the error detection value, and tracking a code phase of the GNSS signal. a correlating process for correlating a GNSS signal with each of a first early replica signal (S RE) that is advanced from a prompt replica signal (S RP) by a first code phase, a first late replica signal (S RL) that is retarded from the prompt replica signal by the first code phase, a second early replica signal (S RVE) that is advanced from the prompt replica signal by a second code phase, and a second late replica signal (S RVL) that is retarded from the prompt replica signal by the second code phase; a differential value calculating process for calculating an early differential value (ΔCV E) by subtracting a second early correlation value (CV VE) that is obtained based on the correlation result between the GNSS signal and the second early replica signal from a first early correlation value (CV E) that is obtained based on the correlation result between the GNSS signal and the first early replica signal, and calculating a late differential value (ΔCV L) by subtracting a second late correlation value (CV VL) that is obtained based on the correlation result between the GNSS signal and the second late replica signal from a first late correlation value (CV L) that is obtained based on the correlation result between the GNSS signal and the first late replica signal; an error detection value calculating process (S103, S104, S105) for setting an error calculating method based on signs of the early differential value and the late differential value, and calculating an error detection value by using the set error calculating method; and a code phase controlling process for controlling a code phase of the prompt replica signal based on the error detection value, and tracking a code phase of the GNSS signal.