从Excel多行多列表中提取出现3次的唯一值,排成一列

Excel学习世界 2024-10-14 22:21:27

365 版本问世好几年了,有不少同学还没尝试过,仍然在使用低版本的 Excel。

如果条件允许,建议大家尽量升级到最新版本,因为很多在低版本中很难的问题,用高阶函数则不费吹灰之力。

案例:

将下图 1 中出现过 3 次的姓名去重后提取出来,排在同一列中,删除空单元格。

效果如下图 2 所示。

解决方案:

1. 在 F2 单元格中输入以下公式 --> 回车:

=TOCOL(A2:D9,1)

公式释义:

tocol 的作用是将数组转换成一列;

语法为 TOCOL(array, [ignore], [scan_by_column]);

array:要返回的数组;

ignore:忽略的内容

0:保留所有值(默认)

1:忽略空白

2:忽略错误

3:忽略空白和错误

scan_by_column:按列扫描数组;默认情况下是按行扫描;

本例的公式表示将区域 A2:D9 按行扫描转换成一列,忽略空值

2. 在 G2 单元格中输入以下公式 --> 下拉复制公式:

=IF(COUNTIF($F$2#,F2)=3,F2,"")

公式释义:

如果 F2 单元格的内容在数组区域 $F$2# 内出现 3 次,则返回 F2 的值,否则返回空值;

$F$2# 中的 # 表示引用的是动态数组区域

3. 在 H2 单元格中输入以下公式 --> 回车:

=UNIQUE(FILTER(G2:G24,G2:G24<>""))

公式释义:

FILTER(G2:G24,G2:G24<>""):筛选出区域 G2:G24 内不为空的值;

UNIQUE(...):从上述结果中提取出唯一值

0 阅读:2

Excel学习世界

简介:Excel 学习交流