INDEX+SMALL+IF+ROW函数组合:一对多条件查找显示多个结果
作者:佚名    转贴自:本站原创    点击数:451

=INDEX($B:$B,SMALL(IF(($A$2:$A$461=$D147),ROW($A$2:$A$461),4^8),COLUMN(G146)))&
 
 
INDEX($B:$B,SMALL(IF($A$2:$A$13=$E2,ROW($A$2:$A$13),4^8),COLUMN(A1)))&

翻译:

IF(A列省份若是“广东”,返回那一行的行号,不是“广东”则返回一个很大的数65536)

SMALL(IF()得到的行号数组从小到大排列,第几小的行号)

INDEX(城市列,SMALL()得到的行信息)

由此可以得到

INDEX(城市列,A列省份是“广东”对应的第1个城市)

INDEX(城市列,A列省份是“广东”对应的第2个城市)

INDEX(城市列,A列省份是“广东”对应的第3个城市)

INDEX(城市列,A列省份是“广东”对应的第N个城市