A resistance spot welding system for joining materials to be welded by squeezing the materials between a pair of electrodes and passing current while applying pressure, the materials being a plurality of overlapping metal sheets, the system comprising: a calculation unit configured to calculate and store a time variation of an instantaneous amount of heat generated that is calculated from an electrical property between the electrodes during test welding, preceding actual welding, that forms an appropriate nugget by passing current with constant current control; a division unit configured to divide, based on the time variation of the instantaneous amount of heat generated, a current pattern into a plurality of steps in accordance with input from an external source after the test welding and to store the time variation of the instantaneous amount of heat generated and a cumulative amount of heat generated for each step as a target value; and an adaptive control unit configured to start welding upon subsequent actual welding using, as a standard, a time variation curve of the instantaneous amount of heat generated that is stored as the target value, and to adjust welding current and voltage during welding, when a time variation amount of an instantaneous amount of heat generated deviates during any step from the time variation curve by a difference, so as to compensate for the difference during a remaining welding time in the step and to generate an instantaneous amount of heat generated and a cumulative amount of heat generated in order to match the cumulative amount of heat generated that is the target value of the step; the system being characterized in that it further comprises: an electrode force state change detector configured to detect a change of state in electrode force after welding starts, wherein the electrode force state change detector determines a timing of when the electrode force during the test welding reaches a designated value and inputs the timing as a time for dividing the current pattern into the plurality of steps. a calculation unit configured to calculate and store a time variation of an instantaneous amount of heat generated that is calculated from an electrical property between the electrodes during test welding, preceding actual welding, that forms an appropriate nugget by passing current with constant current control; a division unit configured to divide, based on the time variation of the instantaneous amount of heat generated, a current pattern into a plurality of steps in accordance with input from an external source after the test welding and to store the time variation of the instantaneous amount of heat generated and a cumulative amount of heat generated for each step as a target value; and an adaptive control unit configured to start welding upon subsequent actual welding using, as a standard, a time variation curve of the instantaneous amount of heat generated that is stored as the target value, and to adjust welding current and voltage during welding, when a time variation amount of an instantaneous amount of heat generated deviates during any step from the time variation curve by a difference, so as to compensate for the difference during a remaining welding time in the step and to generate an instantaneous amount of heat generated and a cumulative amount of heat generated in order to match the cumulative amount of heat generated that is the target value of the step; the system being characterized in that it further comprises: an electrode force state change detector configured to detect a change of state in electrode force after welding starts, wherein the electrode force state change detector determines a timing of when the electrode force during the test welding reaches a designated value and inputs the timing as a time for dividing the current pattern into the plurality of steps. an electrode force state change detector configured to detect a change of state in electrode force after welding starts, wherein the electrode force state change detector determines a timing of when the electrode force during the test welding reaches a designated value and inputs the timing as a time for dividing the current pattern into the plurality of steps.