如何将每隔一个列的单元格与特定值进行比较?

发布于 2024-09-17 06:58:56 字数 348 浏览 4 评论 0原文

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

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

应该作为公式而不是 VBA 来完成。

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

附言!有太多行无法像这样手动完成(伪代码) =IF(AND(A1="C"; A3="C");"好的";"错误")

谢谢

I have a problem in Excel 2007. I need to compare one value - letter "C" - to a range of cells that are on one row. The problem is that the values should be in every other cell.

So if I have a row like this - C 434 C 324 C 3453 - it should say in a cell in the end - OK
And if I have a row like this - C 22 B 665 C 8877 - it should say - error as not all are C's.

Should be done as a formula not VBA.

So the question is is it possible to check if every other cell in a row ( a range ) contains a value C and output a value based on that.

PS! There are too many rows to do it by hand like this (pseudocode)
=IF(AND(A1="C"; A3="C");"ok";"error")

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

东北女汉子 2024-09-24 06:58:56

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

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 中也应该可以工作。

Here's something you can try. It requires the use of some extra cells, but it should get the job done. Let's say you start with this data:

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

... let's say "Col_A" is in cell A1, and the actual data starts in cell A2. Select cell A13 and enter the following formula:

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

Now click A13 and drag to the right to extend it to I13.
Drag that whole range down to A22:I22. You should have a field of ones and zeros in those cells now.

Next, click cell K2 and enter the formula:

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

Click cell K2 and drag it down to extend it to K11.

That's it; you can hide the block of cells with all the ones and zeros if you want.

Disclaimer: only tested in OO Calc. Should work in Excel too though.

听闻余生 2024-09-24 06:58:56

我可以尝试这样的事情:

<代码>=IF(OR(LEFT(A2,1)<>"C",LEFT(B2,1)<>"C",LEFT(C2,1)<>" C",LEFT(D2,1)<>"C",LEFT(E2,1)<>"C"),"无效","有效")

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 无效

使用此选项,您无需添加列,因为会验证同一公式中的每个字符串

I could try something like this:

=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 VALIDATION
C 434 C 435 C 436 C 437 C 435 Valid
C 435 C 436 C 437 C 438 C 436 Valid
C 436 C 437 C 438 C 439 C 437 Valid
C 437 B 438 C 439 C 440 C 438 Not Valid
C 438 C 439 C 440 C 441 C 439 Valid
C 439 C 440 C 441 B 442 C 440 Not Valid
C 440 C 441 C 442 C 443 C 441 Valid
C 441 C 442 C 443 C 444 C 442 Valid
C 442 C 443 C 444 C 445 C 443 Valid
C 443 B 444 C 445 C 446 B 444 Not Valid

With this you don't need to add Columns, because validates every string in the same formula.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文