我一直用下面的公式來測試一個列有一個條目是否在第二列中存在:比較列表和刪除重複
=COUNTIF($E$1:$E$99504,$I1)>0
我希望能夠做的是說如果上述式的值爲真,刪除來自第二列中的重複條目(即,在E1-E99504範圍重複的),和移位該條目向上的細胞。我相信,除了單元格移位之外,這可以在沒有VBA的情況下完成。
不過,我有5列在這種特殊情況下進行比較,更多的可能是在未來。因此,我試圖確定一種方法來使用VBA在多個列上執行上述操作。否則,我需要運行相同的過程10次,我真的覺得我應該學習更有效的方法。比較的層次結構如下所示:
假設我們有列A,B,C,d,E。甲相比B,然後到C,然後到d,其中在未定影的列每次重複被去除,而在A中的條目保持。然後B被固定,以相同的方式移動通過C,D和E,並且B中的條目被保留。類似地,直到D與E比較並且過程完成。有人已經做出了這樣的算法嗎?任何幫助,將不勝感激。
刪除單元格**可能需要** VBA ** –
您可以在工作簿中創建一些元數據,方法是列出要比較的列並將VBA代碼指向該列表。在你的代碼可以同時搜索在任一列的副本,並避免通過片X倍(X =列數來比較)循環。 –
你也可以創建一個只向上看的countif(在這種情況下'countif($ E $ 1:$ E1,$ I1)> 0')。如果您對所有x列執行此操作並取其全部最大值,則可以對其進行過濾並刪除所有違規的過濾行... –