将细胞内容结合到另一个细胞中

时间:2014-01-07 18:29:11

标签: google-apps-script google-sheets google-docs

所以我正在研究Google Docs中的Spreedsheet,我的问题是:我想将第一列中的列A,B,C等等与它们之间的空格结合起来。我目前正在使用类似这样的东西= A1&“”& B1&“”& C1&“”& ect ...这样工作正常而花花公子但是如果单元格是空白的我想忽略它。这应该通过脚本或公式来完成吗?

所以在我的脑海中我想是否单元格A =值然后抓住它并将它与B结合(如果它包含一个值,如果不留空或跳过)但我不擅长PHP所以任何帮助都将是大!!!每个人都快乐纽约; )

2 个答案:

答案 0 :(得分:0)

通过使用IFISBLANK,您可以确定是应该包含还是忽略单元格。像这样:

=if(ISBLANK(A1),"",A1 & " ")

读取“如果单元格为空,则忽略它,否则用尾随空格回显它”。你可以将这些系列连接起来:

=if(ISBLANK(A1),"",A1 & " ")&if(ISBLANK(B1),"",B1 & " ")&if(ISBLANK(C1),"",C1 & " ")...

这很长很重复。添加ARRAYFORMULAJOIN,我们可以将重复的部分应用于一系列单元格,A1:F1在这种情况下:

=JOIN("",ARRAYFORMULA(IF(ISBLANK(A1:F1),"",A1:F1&" ")))

答案 1 :(得分:0)

这是一个自定义函数,它将返回一个字符串,该字符串具有给定分隔符连接的给定范围值。任何空白都会被跳过。

function joinVals( rangeValues, separator ) {
  function notBlank(element) {return element != '';}

  return rangeValues[0].filter(notBlank).join(separator);
}

示例:

   A B C        Formula                Result
1  1 2 3   =joinVals(A1:C1," x ")      1 x 2 x 3
2  1 2     =joinVals(A1:C1," x ")      1 x 2
3  1   3   =joinVals(A1:C1," x ")      1 x 3
4  1 2 3   =joinVals(A1:C1)            1,2,3