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 late differential value (ΔCV EL) by subtracting 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 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, calculating an early differential value (ΔCV E) by subtracting, from the first early correlation value, 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, and calculating a late differential value (ΔCV L) by subtracting, from the first late correlation value, 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; an error detection value calculating process (S103-S106) for setting an error calculating method based on the early late differential value and either one 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 control process for controlling a code phase of the prompt replica signal based on the error detection value. 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 late differential value (ΔCV EL) by subtracting 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 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, calculating an early differential value (ΔCV E) by subtracting, from the first early correlation value, 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, and calculating a late differential value (ΔCV L) by subtracting, from the first late correlation value, 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; an error detection value calculating process (S103-S106) for setting an error calculating method based on the early late differential value and either one 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 control process for controlling a code phase of the prompt replica signal based on the error detection value.