事情要从一位朋友的留言说起。

留言截图

根据他的描述模拟数据如下。需要实现一个简单的数据整理和格式转换。

模拟数据

交流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 排序