搜索

excel中如何用公式把多列数据合并成1列,重复的数据只显示一次:

发布网友 发布时间:2022-03-02 00:47

我来回答

8个回答

热心网友 时间:2022-03-02 02:17

用if嵌套就可以了

1、在E列中输入:

=IF(ROW()<COUNTA(A:A)+1,INDEX(A:A,ROW(),1),IF(ROW()<COUNTA(A:A)+COUNTA(B:B),INDEX(B:B,ROW()-COUNTA(A:A)+1,1),INDEX(B:B,ROW()-COUNTA(A:A)-COUNTA(B:B)+2,1))) 

2、然后用“筛选”-“去除重复值”,复制到D列即可,OK

热心网友 时间:2022-03-02 03:35

假设名单放在A1:C3单元格中,D2中输入
=INDIRECT(TEXT(MIN(IF(COUNTIF(D$1:D1,A$1:C$3)=0,ROW($1:$3)*100+COLUMN(A:C),6553601)),"R0C00"),)&""
同时按下CTRL+SHIFT+ENTER输入数组公式,再用自动填充柄下拉。
不过如果名单很多的话,公式会很慢的。

热心网友 时间:2022-03-02 05:09

d1 = a1
d2 =IF(COUNTIF(D$1:D1,OFFSET($A$1,INT((ROW()-1)/3),MOD((ROW()-1),3))),"",OFFSET($A$1,INT((ROW()-1)/3),MOD((ROW()-1),3))) ,下拉。

复制d列,右键d1,选择性粘贴,数值。
对d列排序,不 扩展选区,选d列空单元格,删除,下方单元格上移。

热心网友 时间:2022-03-02 07:01

给你写个宏,右击工作表标签→查看代码,把下面的代码贴过去,按F5就可以了,会先问你要合并的范围,结果出现在D列,从D1开始

Sub HB_chiefzjh()
Dim mRng$, D, c
mRng = InputBox("请输入要合并的数据范围", "要求范围", "A1:C3")
Set D = CreateObject("scripting.dictionary")
For Each c In Range(mRng)
If Not D.exists(c.Value) Then D.Add c.Value, ""
Next c
Range("d1").Resize(UBound(D.keys) + 1, 1) = WorksheetFunction.Transpose(D.keys)
D = ""
End Sub

热心网友 时间:2022-03-02 09:09

用公式对*数组操作是有点困难,可以有两个办法:
1、在数据表格不能变动的情况下,用VBA宏编程来实现。
2、相对简单的操作来实现,用“筛选”功能:
把所有的列复制拷贝到一列,然后用“筛选”-“去除重复值”,OK

热心网友 时间:2022-03-02 11:33

把A、B、C三列数据依次复制到d列,给d列添加字段名,然后选中d列字段名和全部数据,用数据/数据透视表,直接点击完成,选择d列字段名挪动到行字段处,此方法按升序排列,绝对不会有重复

热心网友 时间:2022-03-02 14:15

直接用公式比较难,用宏还行追问怎么用?

热心网友 时间:2022-03-02 17:13

第二行没有重复的要在d列出现哪一个人名,还是把这三个人名顺延下去?
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top