Можно макросом:
[vba]Код
Sub d()
Dim sh As Shape, ph#, pw, ch#, cw#, px#, py#
Set sh = ActiveSheet.Shapes("Рисунок 1")
ph = sh.Height: pw = sh.Width
ch = sh.TopLeftCell.MergeArea.Height: cw = sh.TopLeftCell.MergeArea.Width
px = sh.TopLeftCell.MergeArea.Left + (cw - pw) / 2
py = sh.TopLeftCell.MergeArea.Top + (ch - ph) / 2
sh.Left = px
sh.Top = py
End Sub
[/vba]
Специально делал не очень сжато, чтоб легче понять было.
Принцип такой:
определяем высоту и ширину: картинки и ячейки.
Потом делим разницу на 2 - это и будет середина