excel提取不重复值到同一个单元格里面?

B列的人名中有重复的,B列每天都会更新增加人名上去,我要把所有不重复的人名提取到D21单元格,无论我B列怎么增加减少,D21都会显示所有不重复的人名(所有的人名合并到一个格子里面),请问公式怎么设置?

以上图为例,姓名在B2:B19

D21=TEXTJOIN(",",1,IF(IFERROR(MATCH(B2:B20,B2:B20,0)=A2:A20,0),B2:B20,""))

数组公式,输入后在编辑栏同时按CTRL+SHIFT+回车三键,使公式前后生成{}结束

要新增数据,则在第20行之上插入新行然后填入数据即可更新

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-02-25
方法一:用“删除重复项”功能

将上述A、B两列中的数据复制粘贴到其他区域,例如D2:E19区域,选择D2:E19,在“数据”选项卡的“数据工具组”中单击“删除重复项”,在弹出的对话框中点“确定”。

在Excel表格的两列数据中提取不重复值的四种方法
Excel即可自动将重复值删除,得到两列中的唯一值。

在Excel表格的两列数据中提取不重复值的四种方法
该方法较为快捷,适用于Excel 2007以上版本,但如果两列中的数据发生更改后还需重新操作。

方法二:用高级筛选

选择两列中的某个单元格,在“数据”选项卡的“排序和筛选”组中点“高级”。如果出现“Microsoft Excel 无法确定当前列表或选定区域的哪一行包含列标签,……”对话框,单击“确定”,弹出“高级筛选”对话框,将“列表区域“设置为A、B两列,选择“将筛选结果复制到其他位置”,将“复制到”设置为D2单元格,“条件区域”保留为空,同时勾选“选择不重复的记录”,单击“确定”。

在Excel表格的两列数据中提取不重复值的四种方法
Excel会将A、B两列中的唯一值提取到D、E两列。

在Excel表格的两列数据中提取不重复值的四种方法
如果以后继续在A、B两列添加数据,再次进行高级筛选时Excel会保存上次的区域设置,还是比较方便的。

方法三:用数组公式

这种方法适合于数据量不大的情况。选择D2:E2区域,在编辑栏中输入数组公式:

=INDEX(A:B,SMALL(IF(MATCH(A$2:A$19&B$2:B$19,A$2:A$19&B$2:B$19,)=ROW($1:$18),ROW($2:$19),4^8),ROW(A1)),{1,2})&""

按Ctrl+Shift+Enter结束输入,然后选择D2:E2,拖动填充柄向下填充公式,直到出现空白为止。

说明:公式用SMALL、IF和MATCH函数得到同行数据相连接后第一次出现的行号,再用INDEX函数同时返回A、B两列的唯一值数据。

方法四:使用数据透视表

1、如果A、B两列的数据需要更改或添加,可先将这两列数据转换为表格。方法是选择两列数据中的某个单元格,在“插入”选项卡的“数据”组中单击“表格”,弹出“插入表”对话框,单击确定。

在Excel表格的两列数据中提取不重复值的四种方法
2、再次选择两列数据中的某个单元格,在“数据”组中单击“数据透视表”,弹出“创建数据透视表”对话框,选择放置数据透视表的位置,本例为同一工作表中的D2单元格,单击“确定”。

3、在“数据透视表字段列表”中勾选“货号”和“尺码”两个字段,将其添加到数据透视表。

在Excel表格的两列数据中提取不重复值的四种方法
4、修改数据透视表的外观和布局。

①在“数据透视表工具--设计”选项卡中,分别单击“报表布局→以表格形式显示”和“报表布局→重复所有项目标签”。

②在“数据透视表工具--设计”选项卡中,单击“分类汇总→不显示分类汇总”。

③在“数据透视表工具--分析”选项卡的“显示”组中,单击取消选择“+-按钮”。

这样就得到了A、B两列中的不重复值。以后在A、B两列数据后的空单元格中添加数据后,Excel会自动扩展表格,刷新数据透视表即可得到新的唯一值数据。本回答被网友采纳
第2个回答  2021-02-22

系统方法实现这个功能非常困难,我有写过这样的自定义函数,函数使用示例如下:

自定义函数的代码如下:

由于程序在公司内网上,取出来很困难,只有拷屏。

第3个回答  2021-02-22

第4个回答  2021-02-22
合并到一个单元格里?
公式不晓得,用vba可以完成
出现在1列,可以用数组公式去重
D1=INDEX(B:b,SMALL(IF(MATCH($B$1:$B$100&"",$B$1:$B$100&"",)=ROW($B$1:$B$100),ROW($B$1:$B$100),65536),ROW(A1)))&""
同时按CTRL SHIFT 回车键,然后下拉公式,可以事先多下拉点行数
相似回答