如何将每个第二列单元格与特定值进行比较?

时间:2010-09-02 22:53:37

标签: excel excel-2007 spreadsheet worksheet-function

我在Excel 2007中遇到了问题。我需要将一个值(字母“C”)与一行中的一系列单元格进行比较。问题是值应该在每个其他单元格中。

所以,如果我有这样一排 - C 434 C 324 C 3453 - 最后应该在一个单元格中说 - 好的 如果我有这样一排--C 22 B 665 C 8877 - 它应该说 - 错误,因为并非所有都是C的。

应该作为公式而不是VBA。

所以问题是是否可以检查一行(范围)中的每个其他单元格是否包含值C并输出基于该值的值。

PS!像这样用手做太多行(伪代码) = IF(AND(A1 =“C”; A3 =“C”);“ok”;“错误”)

由于

2 个答案:

答案 0 :(得分: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。你现在应该在这些单元格中有一个1和0的字段。

接下来,单击单元格K2并输入公式:

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

点击单元格K2并向下拖动以将其扩展为K11

就是这样;如果需要,你可以用所有的1和0来隐藏单元格块。

免责声明:仅在OO Calc中测试。也应该在Excel中工作。

答案 1 :(得分: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验证
  C 434 C 435 C 436 C 437 C 435有效
  C 435 C 436 C 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无效
  C 438 C 439 C 440 C 441 C 439有效
  C 439 C 440 C 441 B 442 C 440无效
  C 440 C 441 C 442 C 443 C 441有效
  C 441 C 442 C 443 C 444 C 442有效
  C 442 C 443 C 444 C 445 C 443有效
  C 443 B 444 C 445 C 446 B 444无效

使用此功能,您无需添加列,因为在同一公式中验证每个string