代码之家  ›  专栏  ›  技术社区  ›  Umar.H

多个if条件嵌套在连接的Google表中

  •  0
  • Umar.H  · 技术社区  · 7 年前

    我有一个公式,如下所示,我使用谷歌工作表内的调度系统:

    =IF(B2="","",(CONCATENATE($B$1&" "&B2&CHAR(10)&$C$1&" "&C2&CHAR(10)&$D$1&" "&D2&CHAR(10)&$E$1&" " &E2&CHAR(10)&$F$1&" " &F2&CHAR(10)&$G$1&" " &G2)))
    

    目前我的公式作品b2有一个值在里面,这是很好的,但是我想要的是公式 只有 显示其中是否有一个值。

    B2、C2、D2、E2、F2或G2。

    所以如果c2有一个值,我想让公式解析。

    我试过了

    =IF(B2,C2,E2) etc with no luck. 
    

    我也试过:

    =IF(OR(B2="",C2="") 它分析了公式,但即使没有数据也保持了它的可见。

    原因是我将这些字段拉到主计划中,我只希望它在填充其中一个字段时显示,如果这有意义的话?否则日程安排会显得很忙。

    https://docs.google.com/spreadsheets/d/1KE3VOI43M4-QlWB0EZldCqR73d3RHDnRnUNlv1MqLMo/edit?usp=sharing

    为你们准备文件。

    干杯!

    3 回复  |  直到 7 年前
        1
  •  2
  •   Diego    7 年前

    你需要使用 AND() 而不是 OR() .

    =IF(AND(B2="", C2=""), "", "Formula")
    

    另外,虽然这会使公式更长,但我更喜欢使用 IFERROR() , ISBLANK() ,和 NA() . 我喜欢这个是因为 空白的 单元格与包含空字符串的单元格不同。所以我更喜欢的写作方式是:

    =IFERROR(IF(AND(ISBLANK(B2), ISBLANK(C2)), NA(), "Formula"))
    
        2
  •  2
  •   tehhowch    7 年前

    如果您的目标是在给定单元格区域中的任何一个单元格不为空时显示公式(如果所有单元格都为空,则不显示任何内容),则可以通过首先连接所有单元格区域,然后与空字符串进行比较来简化条件检查:

    =IF(JOIN("", B2:G2)="", "", "Your Formula")
    
        3
  •  0
  •   Umar.H    7 年前

    我发现了另一个解决方案,我认为它比我自己的好得多,并使上面的数据更加整洁。

    =IF(A2<>"",CONCATENATE(IF(B2<>"",$B$1&": "&B2&CHAR(10),),
                       IF(C2<>"",$C$1&": "&C2&IF(OR(D2<>"",E2<>"",F2<>"",G2<>""),CHAR(10),),),
    

    实际上,这将只填充所选内容,而不是填充标题中的所有字段,然后填充计划的工作流。