【问题标题】:How to create an Arrayformula for combining multiple values in columns in Google Sheets如何创建一个 Arrayformula 以组合 Google 表格中的列中的多个值
【发布时间】:2017-10-24 13:20:11
【问题描述】:

我有一张工作表 (shared here),我在其中尝试根据两列中的值(最小年龄、最大年龄)的组合来生成年龄范围。

  • 如果同时指定了最小年龄和最大年龄,我想将这两个值与中间的破折号结合起来,即“10-15”
  • 如果没有指定年龄最小值,我想显示:“0-{年龄最大值}”即“0-15”
  • 如果没有指定年龄最大值,我想显示:“{年龄最小值}+”即“18 岁以上”

问题 #1:我构建了以下公式,该公式大部分都有效,但在空单元格中会产生一个破折号“-”。当没有指定年龄数据时,我需要有空白单元格。

=if(and(A2<>"",B2=""),A2&"+",if(and(A2="",B2<>""),"0-"&B2,(A2&"-"&B2)))

问题#2:我需要将其包装在一个数组公式中,因此在添加新行时我不必手动复制和粘贴公式,但我的尝试(如下)没有产生所需的结果(请参阅年龄范围(数组公式)列):

=arrayformula(if(and($A2:$A<>"",$B2:$B=""),$A2:$A&"+",if(and($A2:$A="",$B2:$B<>""),"0-"&$B2:$B,($A2:$A&"-"&$B2:$B))))

对于复杂的公式,我几乎是个菜鸟,所以非常感谢您的帮助 ???? .谢谢

【问题讨论】:

    标签: google-sheets formula


    【解决方案1】:

    我找到了问题的答案:

    =arrayformula(IF(LEN($A2:A) + LEN($B2:B) = 0,,(if(($A2:$A<>"")*($B2:$B=""),$A2:$A&"+",if(($A2:$A="")*($B2:$B<>""),"0-"&$B2:$B,($A2:$A&"-"&$B2:$B))))))
    

    【讨论】:

      猜你喜欢
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      相关资源
      最近更新 更多