I'd be inclined to use a macro:
Code:
Sub Demo()
Application.ScreenUpdating = False
Dim LRow As Long, LCol As Long, cCol As Long, cRow As Long
Dim StrTmp As String, StrFnd As String, StrRep As String
With ActiveSheet
LRow = .Cells.SpecialCells(xlCellTypeLastCell).Row
LCol = .Cells.SpecialCells(xlCellTypeLastCell).Column
For cCol = 2 To LCol
StrTmp = .Cells(2, cCol).Value
For cRow = 3 To LRow
If Trim(.Cells(cRow, 1).Value) = "" Then Exit For
StrFnd = .Cells(cRow, 1).Value
StrRep = .Cells(cRow, cCol).Value
StrTmp = Replace(StrTmp, StrFnd, StrRep)
Next
.Cells(LRow + 2, cCol).Value = StrTmp
Next
End With
Application.ScreenUpdating = True
End Sub
As coded, the macro outputs the modified data two rows below whatever the current last row is.