在表的所有列和行中查找搜索值的多个匹配项,并从表的第一列返回结果列表

在表的所有列和行中查找搜索值的多个匹配项,并从表的第一列返回结果列表

我有一张电子表格,其中第一列包含办事处列表。此后的每一列都包含此办事处覆盖的邮政编码列表(仅第一部分,即 se3)。一些邮政编码由多个办事处覆盖,因此邮政编码将出现在多行中。但是,由于数据发送给我的方式,它们最终不会出现在同一列中。我使用的是 Excel 2016。

我需要返回覆盖搜索邮政编码的办公室列表。我可以使用以下方法返回找到的第一个办公室:

{=IFNA(IF(ISBLANK($L$7),"",INDEX('[WORKBOOK2.XLSX]SHEET1'!$A$3:$A$244,MAX(IF('WORKBOOK2.XLSX'!SHEET1[#DATA]=$L$7,ROW('WORKBOOK2.XLSX'!SHEET1[#DATA]))))-2)),"")}

然而,我不知道如何归还第二或第三个办公室。

如果有人能帮忙,我将不胜感激

虽然由于敏感数据我无法提供我正在使用的工做簿的真实示例,但下面是一个示例,但实际工作表大约有 244 行乘以 75 列。

电子表格的小例子

答案1

=IFERROR(IF(ISBLANK($D$13),"",INDEX($A$3:$A$10,SMALL(IF($D$13=$B$3:$H$10,ROW($B$3:$H$10),""),1))),"") 在 D15 中使用

=IFERROR(IF(ISBLANK($D$13),"",INDEX($A$3:$A$10,SMALL(IF($D$13=$B$3:$H$10,ROW($B$3:$H$10),""),2))),"")

在 D16(等)中解决了该问题

谢谢 JohnSUN

答案2

欢迎!

对我来说,公式的形式很好 {=IFERROR(IF(ISBLANK($D$13);"";INDEX($A$1:$A$10;SMALL(IF($D$13=$B$3:$H$10;ROW($B$3:$H$10);"");{1:2:3})));"")}

也许 {=IFERROR(IF(ISBLANK($D$13),"",INDEX($A$3:$A$10,SMALL(IF($D$13=$B$3:$H$10,ROW($B$3:$H$10),""),{1;2;3}))),"")}

或者 {=IFERROR(IF(ISBLANK($D$13),"",INDEX($A$3:$A$10,SMALL(IF($D$13=$B$3:$H$10,ROW($B$3:$H$10),""),ROW(A$1:A$3)))),"")}

它返回办公室A办公室G为了AB1或者办公室E办公室F为了S12

结果

相关内容