我在Excel工作表的一列中有一个数据“实例”列表。
每个实例都可以拥有大量副本。这是一个例子:
abcsingleinstanceblah0001
cdemultipleinstanceexample0001
cdemultipleinstanceexample0002
cdemultipleinstanceexample0003
cdemultipleinstanceexample0004
....
不幸的是,所有这些数据都没有保留编号方案。因此,在某些情况下,副本将具有随机数字。但是,根实例名称始终相同。
问题:创建一个解析这些实例列表的函数的好策略是什么?在新列中,列出所有重复项超过第二个副本?关于上面的例子,新列将列出:
cdemultipleinstanceexample0003
cdemultipleinstanceexample0004
我需要从每组重复项中保留两个重复项,并保留最低的整数值,这就是为什么在上面的示例中必须使用3和4。因此,在随机数的情况下,具有最低整数值的两个实例。
我的想法
我想先按字母顺序组织列,这应该按升序自动放置重复项。然后,我可以基本上从所有实例中删除数值,并找到核心实例名称中超过2个完全重复的位置,这将为我提供超过2个重复项的实例,以便我可以对原始数据执行函数设置...但我不知道是否有更好的方法可以做到这一点或从哪里开始。
我正在寻找基于配方的解决方案。
答案 0 :(得分:0)
假设您的排序列表位于A列,并且您有一行标题,则可以在相邻列中使用以下公式。
在B中: = LEFT(A2,LEN(A2)-4)
在C中(虽然不是很必要): = RIGHT(A2,4)
从第3行开始的D: = IF(AND(B3 = B2,COUNTIF(B1:B3,B3)→2),"德尔""保持&#34)
此公式在第2行中不起作用,但您可以对第一个结果进行硬编码。
然后过滤D列上的列表以获得" Del"并删除所有行。
那是怎么回事?
答案 1 :(得分:0)
在列A中对列表进行排序。您需要稍后列标题,然后将其放在第1行(或将其留空。在B2
中,键入=left(A2,len(A2)-4)
并将公式拖到条带整数。在C3
类型=vlookup(B3,$B$2:$B2,1,0)
。填充C3
右侧的一个单元格中的公式,然后填充数据的长度。现在在D3中,您将有一个包含错误的列表任何只有2个或更少实例并具有2个或更多实例的名称的条目。使用#行D的过滤器对此列表进行排序将允许您删除少于两个条目的所有行。
删除过滤器。然后以相反的顺序使用A列中的列表,因此首先是高位数。用#N / A替换C2和D2的内容。除了#N / A之外的所有内容,重新列出D列中的列表,并删除列出实例的所有条目。