[英]VBA - Find all values on column B for article on column A and place them to a single row
我有一个非常大的Excel文档(2万个条目),其数据类似于以下内容:
ARTICLE TIME
article 1 1s
article 1 2s
article 2 1s
article 2 2s
article 2 3s
...
我需要从articles列中提取唯一值,并将其对应的时间值放在一行中,如下所示:
ARTICLE TIMES
article 1 1s 2s
article 2 1s 2s 3s
...
我尝试使用公式(INDEX,MATCH,FIND等...),但没有得到任何正确的结果。
我如何使用VBA做到这一点(也许?)谢谢。
在“单击之前”事件中尝试以下代码:
cnt = 8
For i = 2 To 6
strg = strg & Cells(i, 2)
If Cells(i, 1) <> Cells(i + 1, 1) Then
Cells(cnt, 1) = Cells(i, 1)
Cells(cnt, 2) = strg
strg = ""
cnt = cnt + 1
End If
Next
时间值在每个文章的单个单元格中填充
这是不使用VBA的食谱
为每篇文章建立汇总时间
ARTICLE TIME SAME TIMES article 1 1s =if(A3=A2;"YES";"") =B2 article 1 2s =if(A3=A2;"YES";"") = if(A3=A2;Concatenate(B3;" ";D2);B3) article 1 3s =if(A4=A3;"YES";"") = if(A4=A3;Concatenate(B4;" ";D3);B4) article 2 1s (extend the formulas down to the end of range)
创建一个副本,将CAME和TIMES中的公式替换为结果选择列C和D菜单->复制选择列C和D再次菜单->粘贴特殊; 仅值
按“相同”对列表进行排序(这会将所有“是”放在一个块中)
删除所有SAME =“ YES”列
排序回升序的文章列表
删除“时间”和“是”列
完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.