2015-07-11 149 views
0

我有一張200列的工作表。所有單元格將只有3個可能的字符。我想找出沒有全部3個字符的列(以任何順序,重複)。比方說,如果任何字符在列中錯過,公式應在下面的單元格中標記該字符。如何在Excel中找到缺失值的列

對不起,我不是一個優秀的人,這是需要檢查大約200這樣長的工作簿。

任何幫助,將不勝感激。

回答

0

我會做的是使用一張單獨的紙張,在其中您將所有的單元格都遮住。對於每個單元格,您檢查另一個表單上的相應單元格是否有效。如果是,則顯示0,如果不是,則顯示1。現在總結所有列,如果總和高於0那麼該列無效。

0

您的電子表格的格式可能是您可以用來識別不符合的項目的原因,因爲顏色更容易獲得大量數據中問題的概覽。

如果可以的話,如何通過該範圍中的每個單元格,並使用3 Instr函數來查找具有您想要的所有3個值的單元格。

我會假設您正在尋找A,B和C作爲您的3值,以達到以下代碼的目的。

MyCell=cells(MyRow,MyColumn) 
MatchCharA="A" 
MatchCharB="B" 
MatchCharC="C" 

CheckA=instr(1,MyCell,MatchCharA) 
CheckB=instr(1,MyCell,MatchCharB) 
CheckC=instr(1,MyCell,MatchCharC) 

If CheckA>0 then CharExist=1 else CharExist=0 
If CheckB>0 then CharExist=CharExist+1 
If CheckC>0 then CharExist=CharExist+1 

現在可以使用該變量CharExist這將返回: - 0如果在所述小區不匹配 1如果1炭存在於細胞內,在細胞中或3存在2如果2個字符如果所有字符都存在於單元格中。

最後,你可以使用

Cells(MyRow, MyColumn).Font.Color = RGB(0, 51, 204) 

着色細胞也許綠色,黃色或紅色取決於CharExist值。

只要記住所有上面的代碼應該在你的循環中,每個循環中的每個單元格都要一個接一個地循環,並且你必須記住在每個循環結束或開始時將CheckA,CheckB,CheckC重置爲0以確保以前的單元格值不會影響CharExist中的下一個結果。

我希望這會有所幫助,因爲我有過分解釋的傾向,所以請原諒我,如果我提供比您需要的更多細節。