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列出现哪一个人名,还是把这三个人名顺延下去?