公式来search特定值的行并获得相应的单元格

我正在尝试编写一个公式来search特定范围内的所有单元格(列中的某个范围),获取与特定值匹配的任何单元格的行ID,然后获取所有匹配的单元格的值)从不同的列。

就像是:

AB 1 ABC 123 2 DEF 456 3 GHI 789 4 ABC 100 

现在我需要的是在A1:A4中查找“ABC”,它将返回A1和A4,并获得B1和B4的值。 我无法弄清楚。

我知道我可以在VBA中做到这一点。 但它不会更新像公式一样。

 For i = 2 To Excel.WorksheetFunction.CountA(Range("A:A")) If Range("A" & i).Value = "ABC" Then MsgBox Range("B" & i).Value End If Next I 

此代码在“A”列中查找值“ABC”并返回“B”列的行值。