我在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”;“错误”)
由于
答案 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
。