我会说这是 excel 的最基本功能,但是由于您假设您无法决定如何对列进行排序的人为限制 - 那么它需要您使用 HLOOKUP 之类的东西(假设您至少可以确定您的标题):
=IF(AND(HLOOKUP("Key",$A$1:$C$5,ROW(),FALSE)=10,HLOOKUP("VALUE",$A$1:$C$5,ROW(),FALSE)=20),HLOOKUP("ID",$A$1:$C$5,ROW(),FALSE),"")
![HLOOKUP_EXAMPLE](https://i.stack.imgur.com/MSCxe.png)
祝你好运。
编辑/添加:
使用来自: http ://www.mcgimpsey.com/excel/udfs/multicat.html的 multicat 函数
例如,对表格进行排序以消除空格,然后:
=multicat(C2:C5,",")
或者,如果排序对您来说工作量太大 - 您可以使用 mcgimpsey 函数的这个修改版本来删除空白单元格:
Public Function MultiCat( _
ByRef rRng As Excel.Range, _
Optional ByVal sDelim As String = "") _
As String
Dim rCell As Range
For Each rCell In rRng
If rCell.Value <> "" Then
MultiCat = MultiCat & sDelim & rCell.Text
End If
Next rCell
MultiCat = Mid(MultiCat, Len(sDelim) + 1)
End Function