Excel中A有重复数据,B列有重复数据也有不同数据,保留A一条数据,将B列不同数据放在不同的单元格内
A列数据和B列数据有一万多个完成的效果图就像上面那种,D列为A列数据,E列到G列为B列的不同数据...
A列数据和B列数据有一万多个
完成的效果图就像上面那种,D列为A列数据,E列到G列为B列的不同数据 展开
完成的效果图就像上面那种,D列为A列数据,E列到G列为B列的不同数据 展开
4个回答
2018-10-21 · 知道合伙人软件行家
关注
展开全部
因为提取A列不重复数据要引用上一个单元格,这样如果第1个数据在D1就要出错了,D1的上一个单元格不存在!所以要从第2个单元格开始编写公式:
D2=INDEX(A:A,MIN(IF(COUNTIF(D$1:D1,A$1:A$13)=0,ROW($1:$13),4^8)))&""
同时按Ctrl+Shift+Enter三键输入数组公式,下拉到出现空白单元格
E2=INDEX($B:$B,SMALL(IFERROR(IF(MATCH(IF($A$1:$A$12=--$D2,$B$1:$B$12,""),IF($A$1:$A$12=--$D2,$B$1:$B$12," "),)=ROW($1:$12),ROW($A$1:$A$12),4^8),4^8),COLUMN(A:A)))&""
同时按Ctrl+Shift+Enter三键输入数组公式,下拉到与D列平齐,再右拉E到所有行出空白单元格。
追问
如果A列和B列有一万个数值的话,我应该修改那个地方
追答
数据到哪行,就把公式中的行号12改到实际数据行号,13改到比实际数据多1行。
补充两点:
1. E2中的公式针对A列是数字,所以有两处用了两个负号,把D列中的文本数字转化为纯数字。如果A列不是数字,就无需两处的负号。
2. 实际数据一万多行的话,估计会比较卡,除非你的电脑强劲。可以考虑用VBA会好些。
展开全部
1,C1输入=A1&","&B1,下拉到C12,复制C列,选择性粘贴C列,值和数字格式,选中C列去除重复值,选中C列进行分列
2, E1输入=D1&IFERROR(","&VLOOKUP(C1,C2:E$11,3,0),""),下拉公式到E10,
3.复制A列给F列,去除重复值,
4.G1输入=VLOOKUP(F1,$C$1:$E$10,3,0),下拉公式到G5,复制G列选择性粘贴为值和数字格式,选中G列分列。
不是一点点的烦。
2, E1输入=D1&IFERROR(","&VLOOKUP(C1,C2:E$11,3,0),""),下拉公式到E10,
3.复制A列给F列,去除重复值,
4.G1输入=VLOOKUP(F1,$C$1:$E$10,3,0),下拉公式到G5,复制G列选择性粘贴为值和数字格式,选中G列分列。
不是一点点的烦。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写代码可以实现你说的
追问
可以只用公式做么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
标记 明天研究下
追问
大佬,给个思路
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询