事情要从一位朋友的留言说起。
留言截图
根据他的描述模拟数据如下。需要实现一个简单的数据整理和格式转换。
模拟数据
交流Excel公式函数类的问题,事先明确Excel版本。毕竟新老版本天差地别,新版本上的新函数更强大,更简单。
(Excel 2021后的版本统称新版本,其余统称老版本。)
老版本解决方案
以下公式填入E2,下拉填充,实现去除重复提取车辆信息:
=IFERROR(INDEX($B$2:$B$12,MATCH(,COUNTIF(F1:$F$1,$B$2:$B$12),)),"")
以下公式填入F2,下拉右拉填充,提取车辆对应的数量:
=IFERROR(LARGE(IF($B$2:$B$12=$F2,$C$2:$C$12,""),COLUMN(A:A)),"")
老版本解决方案
新版本解决方案
专业去重函数UNIQUE实现去重提取车辆信息:
=UNIQUE(B2:B12)
UNIQUE去重提取车辆信息
FILTER函数筛选车牌对应的数据,TOROW按行显示:
=TOROW(FILTER(C:C,B:B=E2))
FILTER+TOROW
有对比,有伤害,新版本的优势显而易见:没有复杂的逻辑转换,没有繁琐的相对引用绝对引用,最多嵌套两层,易读,易懂。
如果这位朋友用的新版本,知道这三个函数,相信解决问题也是手到擒来。
这些新版本中解决问题的小能手,安利一波:
XLOOKUP 查询,查找
FILTER 筛选,多条件筛选
UNIQUE 去除重复
TOCOL 按列显示
TOROW 按行显示
CHOOSECOLS 选取指定列
CHOOSEROWS 选取指定行
SEQUECNE 产生序列号
TEXTSPLIT 拆分文本
SORT 排序