A motor control apparatus configured to, by a control unit, i.e an ECU, drive-control a motor by an inverter based on each-phase duty command values (Da-Dc) of pulse width modulation, PWM, and configured to detect each-phase motor currents (I(t)) of said motor by a one-shunt type current detector, characterized in that said motor control apparatus comprises: a current detection correcting section configured to calculate a current detection correction value based on a power-supply voltage of said inverter, said each-phase duty command values, a back-EMF information of said motor, said each-phase motor currents at a given timing (S1-S6) within one PWM period which is detected with a current detection analog to digital, A/D, timing (t) of said current detector, an arrangement information of said PWM, and an electric characteristic formula of said motor, wherein said current detection correcting section is configured to obtain said current detection correction value by calculating each-phase PWM-ON/OFF patterns between said current detection A/D timing and said given timing within said one PWM period, calculating PWM-ON/OFF pattern duration times (Tl-Tm) based on each-phase PWM arrangement information PWM L and said each-phase duty command values (Da-Dc), calculating a current change amount based on a phase current reference value from said electric characteristic formula, and calculating a motor average current within said one PWM period from said current change amount, wherein said current detection correcting section is configured to calculate said current change amount, wherein in a case that said given timing exists before said current detection A/D timing, said current change amount is calculated by approximating a differential formula by backward difference (Expression 3), and in a case that said given timing exists after said current detection A/D timing, said current change amount is calculated by approximating said differential formula by forward difference (Expression 6), and wherein said motor is drive-controlled by performing a correction of said each-phase motor currents to said motor average current with said current detection correction value, wherein Δ I f = − 1 L V t − EMF t ⋅ T f − R L I t ⋅ T f and Δ I b = 1 L V t − EMF t ⋅ T b − R L I t ⋅ T b wherein "V(t)" is said power-supply voltage, "EMF(t)" is said back-EMF information, "L" is an inductance of the motor, "R" is a resistance of the motor, "I(t)" is a detected current value detected at said current detection A/D timing, "t" is said current detection A/D timing, "Tb" is a time from said current detection A/D timing, and "Tf" is a time before said current detection A/D timing. a current detection correcting section configured to calculate a current detection correction value based on a power-supply voltage of said inverter, said each-phase duty command values, a back-EMF information of said motor, said each-phase motor currents at a given timing (S1-S6) within one PWM period which is detected with a current detection analog to digital, A/D, timing (t) of said current detector, an arrangement information of said PWM, and an electric characteristic formula of said motor, wherein said current detection correcting section is configured to obtain said current detection correction value by calculating each-phase PWM-ON/OFF patterns between said current detection A/D timing and said given timing within said one PWM period, calculating PWM-ON/OFF pattern duration times (Tl-Tm) based on each-phase PWM arrangement information PWM L and said each-phase duty command values (Da-Dc), calculating a current change amount based on a phase current reference value from said electric characteristic formula, and calculating a motor average current within said one PWM period from said current change amount, wherein said current detection correcting section is configured to calculate said current change amount, wherein in a case that said given timing exists before said current detection A/D timing, said current change amount is calculated by approximating a differential formula by backward difference (Expression 3), and in a case that said given timing exists after said current detection A/D timing, said current change amount is calculated by approximating said differential formula by forward difference (Expression 6), and wherein said motor is drive-controlled by performing a correction of said each-phase motor currents to said motor average current with said current detection correction value, wherein Δ I f = − 1 L V t − EMF t ⋅ T f − R L I t ⋅ T f and Δ I b = 1 L V t − EMF t ⋅ T b − R L I t ⋅ T b wherein "V(t)" is said power-supply voltage, "EMF(t)" is said back-EMF information, "L" is an inductance of the motor, "R" is a resistance of the motor, "I(t)" is a detected current value detected at said current detection A/D timing, "t" is said current detection A/D timing, "Tb" is a time from said current detection A/D timing, and "Tf" is a time before said current detection A/D timing.