网友问到:在 Excel 中,如果有一个名字组成的清单,如何藉由输入特定文字而列出含有该文字的清单?
参考下图,在下拉式清单中选取不同的文字,即可列出含有该文字的姓名。
【公式设计与解析】
首先,选取单元格A1:B200(名字清单的范围),按 Ctrl+Shift+F3 键,勾选「顶端列」,定义名称:编号、姓名。
接着,输入公式:
单元格F2:{=IFERROR(OFFSET($A$1,SMALL(IF(SUBSTITUTE(姓名,$D$2,””)<>
姓名,ROW(编号)-1,””),ROW(1:1)),0),””)}
单元格G2:{=IFERROR(VLOOKUP(F2,资料,2,FALSE),””)}
以上二式都是阵列公式,输入完成要按 Ctrl+Shift+Enter 键,Excel 会自动加上「{}」。
复制单元格F2:G2,贴至单元格F2:G30。
其中公式:SUBSTITUTE(姓名,$D$2,””)<>姓名
乃在姓名阵列中,判断如果将姓名以单元格D2的内容置换为空字串(相当于删掉该文字),如果结果和原来姓名不相同,则表示该姓名含有该文字。
如果选取不同的字元,清单会随之改变列出的内容:
该公式不限查询的字元数: