首先,我必须指出,我是一名访问此论坛的德国人(我在德国网站上找不到任何有用的东西),所以如果我的英语不好,请原谅我 ;-)
这是我的“问题”:
我有一个包含各种公式的庞大电子表格。在 R 和 SI 列中有一个公式,可以给出“真”或“假”的结果。
现在,我需要一个额外的公式,如果满足以下条件,它将给出“是”或“否”的答案:
- R 列和 S 列 = “true” --> “yes”
- R 列和 S 列 = “false” --> “no”
- R 列与 S 列不等 --> “否”
我确信这有一个公式。有人能帮我吗?:-/
答案1
这听起来像是一个简单的AND
条件。
=IF(AND(R1,S1),"Yes","No")
答案2
如果您指的是TRUE
/FALSE
而不是"TRUE"
/ "FALSE"
(前者是布尔值,后者是字符串),我个人更喜欢前者,并且会尽可能将任何输出保留为布尔格式。将它们保留为布尔值很有用,因为它使基于它们编写公式(并返回它们)变得容易得多。我将在下面给出几种变体的解决方案。使用适合您的任何方法。解决方案适用于第 2 行。
情况 1:R 和 S 列中的值是布尔值,并且您想要布尔输出。
这是最简单的解决办法。
=AND(R2,S2)
情况 2:R 和 S 列中的值是布尔值,并且您想要字符串输出。
仅有的轻微地更复杂。
=IF(AND(R2,S2),"Yes","No")
情况 3:R 和 S 列中的值是字符串,并且您想要布尔输出。
这开始显示出布尔输出而不是字符串的优势。
=AND(R2="TRUE",R2=S2)
情况 4:R 和 S 列中的值是字符串,并且您想要布尔输出。
最后,这是最不可取的(IMHO)情况和解决方案。
=IF(AND(R2="TRUE",R2=S2),"Yes","No")
如果一个是布尔值而另一个不是,情况会变得更糟,但是您现在可能已经明白了。
下面是上述所有操作的屏幕截图。A 列和 B 列代表 R 和 S,其中的值是布尔格式。F 列和 G 列代表 R 和 S,其中的值是字符串。C 列显示上述案例 1 中的解决方案的示例输出,D 列显示案例 2,H 列显示案例 3,I 列显示案例 4。
最后,这里有一组公式可以涵盖所有真/假输入变体。
布尔输出。
=AND(UPPER(TEXT(R2,""))="TRUE",UPPER(TEXT(R2,""))=UPPER(TEXT(S2,"")))
字符串输出。
=IF(AND(UPPER(TEXT(R2,""))="TRUE",UPPER(TEXT(R2,""))=UPPER(TEXT(S2,""))),"Yes","No")
这应该可以解释以下所有情况:
- R 和 S 都是布尔值
- R 和 S 都是字符串
- 一列是布尔值,另一列是字符串
- 列之间大小写不匹配(例如:R 列显示“TRUE”,而 S 列显示“true”)