Родился 12.08.1900 г. в хуторе Рощинском ныне Кочубеевского района Ставропольского края в семье крестьянина. Русский. Член ВКП(б) с 1943 г. Окончил 4 класса. Работал на шахте № 13 «Ставропольуголь» в г. Микоян-Шахар (Карачаевск).
В Красной Армии с 1941 года, в действующей армии с 1942 года. Окончил школу снайперов.
Участвовал в Сталинградской битве, Донбасской стратегической операции, освобождении юга Украины, Молдавии, Румынии, Венгрии, Чехословакии. Особо отличился в боях за Днепр.
Снайпер 610-го стрелкового полка (203-я стрелковая дивизия, 12-я армия, 3-й Украинский фронт) старший сержант Меркулов отличился 29.9.43 г. при форсировании Днепра в районе с. Вовники (Солонянский район Днепропетровской области) – уничтожил четырёх наблюдателей противника, корректировавших огонь артиллерии и миномётов. 24-26.10.1943 г. при вторичном форсировании Днепра в районе г. Запорожье одним из первых достиг правого берега, продвинулся вперёд, увлекая за собой товарищей, стойко удерживал занятый рубеж.
За годы войны уничтожил 125 фашистов.
Звание Героя Советского Союза присвоено старшему сержанту Меркулову Ивану Петровичу 19 марта 1944 года с вручением ордена Ленина и медали «Золотая Звезда» (№ 3412).
После войны старшина Меркулов демобилизован. Работал и жил в Карачаевске, где продолжал трудиться на той же шахте.
Умер 12 апреля 1987 года.
Награждён также орденами Отечественной войны I ст., Красной Звезды, Славы III ст., медалями.