首页 > 解决方案 > 具有多个案例的 Googlesheet IF

问题描述

在我的 Google 工作表中,我有第一个包含发票摘要的列表,然后根据参数(手动)将其分为 4 个列表。我需要了解第一个列表中的所有发票,它们属于哪个类别/列表。

例如 - 列表:Alphabet、abc、def、mno、xyz。在字母表中是列“列表”。如何编写根据 Alphabet 中的 ID(B 列)在另一个列表上找到发票的函数,并将正确列表的名称写入“列表”列。我尝试使用 IF、match 等编写此函数。但我仍然没有解决方案。你能帮我吗?对不起我的英语不好 :-) 在此处输入图像描述

标签: if-statementgoogle-sheetsgoogle-sheets-formula

解决方案


所以这是一个你可以适应的例子。在第一张纸上的 E:H 列中(我可以稍后隐藏这些列,从 row2 开始并根据需要向下拖动,我输入了以下公式:

=IF(LEN(iferror(query(abc!$A$2:$A,"select A where A='" & $A2 &"'"),""))>0,"abc","")
=IF(LEN(iferror(query(def!$A$2:$A,"select A where A='" & $A2 &"'"),""))>0,"def","")
=IF(LEN(iferror(query(mno!$A$2:$A,"select A where A='" & $A2 &"'"),""))>0,"mno","")
=IF(LEN(iferror(query(xyz!$A$2:$A,"select A where A='" & $A2 &"'"),""))>0,"xyz","")

可能我可以通过将工作表名称放在 E1:H1 中来简化一点,但你明白了。

这些中的每一个都在寻找 ID。如果查询成功,则返回工作表的名称。如果失败,则返回空字符串。

现在在我真正想要结果的 B 列中,我将此公式放入 B2 并根据需要拖动复制。

 =if(E2&F2&G2&H2="","nowhere",E2&F2&G2&H2)

它说把这些字符串放在一起,如果那里什么都没有,就说无处,否则说列表。如果它出现在多个上,并且确实会发生,则可以使用 JOIN 代替。


推荐阅读