A shift controller (124, 218, 251, 71, 8, 8A) for a vehicle comprising an internal combustion engine, a manual transmission and a clutch that is disposed between the internal combustion engine and the manual transmission and that is capable of switching between an engaged state and a disengaged state by changing a clutch stroke, the shift controller (124, 218, 251, 71, 8, 8A) comprising: a detection means (811, 821) detecting the clutch stroke; a rotation synchronization means (815, 825) performing rotation synchronization control to synchronize a rotational speed of the internal combustion engine with an input shaft rotational speed of the manual transmission; and wherein, when the clutch is switched from the engaged state to the disengaged state, the rotation synchronization means (815, 825) starts the rotation synchronization control under a condition in which the detection means (811, 821) detects that the clutch stroke reaches a position of a first stroke that is set in advance on a side more engaged than the shift operation position where a shift operation is performed while the clutch is in the disengaged state, characterized in that the shift controller (124, 218, 251, 71, 8, 8A) further comprises a setting/learning means (812, 814, 824) performing at least one of a setting and a learning of a shift operation position under a condition in which a variation amount per unit time of the clutch stroke is less than or equal to a predetermined first variation amount threshold value, wherein, as performance of the learning of the shift operation position, the setting/learning means (812, 814, 824) learns, as the shift operation position, the clutch stroke detected by the detection means (811, 821) under the condition in which the variation amount per unit time of the clutch stroke is less than or equal to the predetermined first variation amount threshold value. a detection means (811, 821) detecting the clutch stroke; a rotation synchronization means (815, 825) performing rotation synchronization control to synchronize a rotational speed of the internal combustion engine with an input shaft rotational speed of the manual transmission; and wherein, when the clutch is switched from the engaged state to the disengaged state, the rotation synchronization means (815, 825) starts the rotation synchronization control under a condition in which the detection means (811, 821) detects that the clutch stroke reaches a position of a first stroke that is set in advance on a side more engaged than the shift operation position where a shift operation is performed while the clutch is in the disengaged state, characterized in that the shift controller (124, 218, 251, 71, 8, 8A) further comprises a setting/learning means (812, 814, 824) performing at least one of a setting and a learning of a shift operation position under a condition in which a variation amount per unit time of the clutch stroke is less than or equal to a predetermined first variation amount threshold value, wherein, as performance of the learning of the shift operation position, the setting/learning means (812, 814, 824) learns, as the shift operation position, the clutch stroke detected by the detection means (811, 821) under the condition in which the variation amount per unit time of the clutch stroke is less than or equal to the predetermined first variation amount threshold value.