在工作中,很多人都会遇到这种场景:
系统导出的数据乱七八糟,列多、行多、顺序不对,需求往往只要关键字段,还可能只要部分行。
一般方法:
这些不仅效率低下,还容易出错。
高阶用法:用 Excel 三件套
FILTER + CHOOSECOLS + CHOOSEROWS
一次公式搞定数据清洗、选列、抽行,动态更新。
一、原始数据
二、第一步:FILTER — 按条件筛选数据
目标:只保留上海员工
=FILTER(A2:F6,D2:D6="上海")
结果
三、第二步:CHOOSECOLS — 选取关键列
目标:只要姓名、城市、工资
=CHOOSECOLS(
FILTER(A2:F6,D2:D6="上海"),
2,4,5)
结果
注意:表头默认不会带上,如果要表头,可以用 VSTACK 拼接。
=VSTACK(
CHOOSECOLS(A1:F1,2,4,5),
CHOOSECOLS(
FILTER(A2:F6,D2:D6="上海"),
2,4,5)
)
四、第三步:CHOOSEROWS — 精确抽行
目标:从筛选后的上海员工中,只保留工资最高的前2人
=CHOOSEROWS(CHOOSECOLS(
FILTER(A2:F6,D2:D6="上海"),
2,4,5),2,3)
结果
技巧:负数行号支持从尾部取,例如 -1 表示最后一行。
五、完整工作场景示意
场景
公式
=LET(data,A2:F6,filtered,FILTER(data,D2:D6="上海"),cols,{2,4,5},selected,CHOOSECOLS(filtered,cols),CHOOSEROWS(selected,2,3))
输出