2010-09-02 64 views
1

我在Excel 2007中遇到問題。我需要比較一個值 - 字母「C」 - 與一行中的單元格範圍。問題是這些值應該在其他所有單元格中。如何比較每個第二列單元格與特定值?

所以,如果我有這樣的一行 - C 434 C 324 C 3453 - 它應該在最後一個單元格中說 - OK 如果我有這樣一行 - C 22 B 665 C 8877 - 它應該說 - 錯誤不是所有的都是C的。

應該以公式而不是VBA來完成。

所以問題是,是否有可能檢查一行(範圍)中的每個其他單元格是否包含值C並根據此值輸出一個值。

PS!有太多的行手工做這樣的(僞) = IF(AND(A1 = 「C」; A3 = 「C」); 「OK」, 「錯誤」)

感謝

回答

2

這是你可以嘗試的東西。它需要使用一些額外的電池,但它應該完成工作。比方說,你開始用這樣的數據:

Col_A Col_B Col_C Col_D Col_E Col_F Col_G Col_H Col_I 
C 434 xxx C 435 xxx C 436 xxx C 437 xxx C 435 
C 435 xxx C 436 xxx C 437 xxx C 438 xxx C 436 
C 436 xxx C 437 xxx C 438 xxx C 439 xxx C 437 
C 437 xxx B 438 xxx C 439 xxx C 440 xxx C 438 
C 438 xxx C 439 xxx C 440 xxx C 441 xxx C 439 
C 439 xxx C 440 xxx C 441 xxx B 442 xxx C 440 
C 440 xxx C 441 xxx C 442 xxx C 443 xxx C 441 
C 441 xxx C 442 xxx C 443 xxx C 444 xxx C 442 
C 442 xxx C 443 xxx C 444 xxx C 445 xxx C 443 
C 443 xxx B 444 xxx C 445 xxx C 446 xxx B 444 

...讓我們說「爲col_a」是在細胞A1,並在細胞A2實際數據開始。選擇單元格A13並輸入以下公式:

=IF(OR(LEFT(A2)="C", MOD(COLUMN(A2),2)=0),1,0) 

現在點擊A13並拖動鼠標把它擴大到I13的權利。 將整個範圍拖到A22:I22。你現在應該在這些單元中有一個零和一個零域。

接下來,單擊單元格K2和輸入公式:

=IF(PRODUCT(A13:I13),"Valid","Not valid!") 

單擊單元格K2並向下拖動把它擴大到K11

就是這樣;如果需要,可以隱藏所有1和0的單元塊。

免責聲明:僅在OO Calc中測試。儘管也應該在Excel中工作。

+0

謝謝,需要修改一下,使它做更多我想要的東西,但這是一個上帝的幫助:) – Marten 2010-09-04 10:48:27

0

我可以嘗試這樣的事:

=IF(OR(LEFT(A2,1)<>"C",LEFT(B2,1)<>"C",LEFT(C2,1)<>"C",LEFT(D2,1)<>"C",LEFT(E2,1)<>"C"),"Not Valid","Valid")

爲col_a Col_B Col_C Col_D Col_E驗證
Ç434ç435ç436ç437ç435有效
Ç435Ç436Ç 437 C 438 C 436有效
C 436 C 437 C 438 C 439 C 437有效
C 437 B 438 C 439 C 440 C 438無效
Ç438Ç439Ç440℃441Ç439有效
Ç439Ç440℃441乙442Ç440無效
Ç440℃441Ç442Ç443Ç441有效
Ç441Ç442Ç443Ç444 ç442有效
ç442ç443ç444ç445個C- 443份有效
ç443乙444ç445個C- 446乙444無效

有了這個,你不需要添加列,因爲每次驗證string在同一個公式中。

相關問題