2010-09-02 65 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在同一个公式中。

相关问题