【问题标题】:How to compare every second column cell to a specific value?如何将每隔一列的单元格与特定值进行比较?
【发布时间】:2014-08-27 23:07:39
【问题描述】:

我在 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";"error")

谢谢

【问题讨论】:

    标签: excel excel-2007 spreadsheet worksheet-function


    【解决方案1】:

    您可以尝试以下方法。它需要使用一些额外的单元格,但它应该可以完成工作。假设您从以下数据开始:

    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 中工作。

    【讨论】:

    • 谢谢,需要稍微修改一下,让它做更多我想做的事,但这是天赐的帮助:)
    【解决方案2】:

    我可以尝试这样的事情:

    =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

    【讨论】:

      猜你喜欢
      • 2020-05-09
      • 2022-11-15
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 2013-06-20
      • 1970-01-01
      相关资源
      最近更新 更多