摘要:FILTER函数+动态匹配,3分钟解决数据筛选难题!无论是固定列还是动态需求,1个公式全搞定✅ 别再手动翻表格,效率翻倍就靠它!
领导突然要求:“把表格里所有姓‘王’的人的姓名和电话列出来!”
但你的表格列顺序经常变——今天“联系电话”在第8列,明天可能跑到第3列
手动改公式列号?太麻烦!效率直接打骨折……
FILTER函数+动态匹配,3分钟解决数据筛选难题!无论是固定列还是动态需求,1个公式全搞定✅ 别再手动翻表格,效率翻倍就靠它!
场景描述:表格中需要快速提取所有姓名含“王”的人员名单。
FILTER(显示筛选结果,筛选条件)
具体公式:
=FILTER(A1:A31, ISNUMBER(FIND("王", A1:A31)))
这里只提取姓名,其他列的信息不需要。
我们只需把FILTER函数的第一参数(显示筛选结果):只要选第A列姓名范围A1:A31即可。
场景描述:领导需要姓“王”员工的所有信息,显示筛选结果列跟原表格的列的顺序是一致的。
具体公式:
FILTER函数的第一参数:范围要扩大到整个表格数据范围A1:H31。
场景描述:只需提取“姓名、性别、专业、电话”4列。
具体公式:
=FILTER(CHOOSECOLS(A2:H31, 1,2,7,8), ISNUMBER(FIND("王", A2:A31)))
只需要部分列,CHOOSECOLS(A2:H31, 1,2,7,8)手动筛选出想要查找的列。
注意事项:
(1)列顺序:数字按原始表格顺序,调整数字可改变输出列顺序。
(2)列数限制:Excel 365支持CHOOSECOLS,旧版本需用INDEX替代。
终极动态公式,列怎么变都能精准抓取!
场景描述:表格列数经常变动,手动输入会有出错的风险,需动态匹配。
=CHOOSECOLS(FILTER($A$1:$H$13,ISNUMBER(FIND("王",$A$1:$A$13))),MATCH(L$1,$A$1:$H$1,0))
第一参数:FILTER($A$1:$H$13,ISNUMBER(FIND("王",$A$1:$A$13))),先把所有的满足条件的信息都筛选出来。
第二参数:MATCH(L$1,$A$1:$H$1,0),在 $A$1:$H$1 区域内查找与 L$1 匹配的列标题,返回匹配列的相对位置(例如,第 1 列、第 2 列等)
(2)CHOOSECOLS:根据MATCH的结果,像GPS一样锁定目标列;
(3)FILTER:最后根据“王”字条件,一键筛出最终数据。
即使明天列顺序全乱,公式也照常运行!
无论领导怎么折腾表格结构,你只需1个公式,10秒交差✅
从此告别“改列号→崩溃→加班”的死循环!
来源:雪珍教育