【问题标题】:Google Sheets: Use ArrayFormula for JoinText for multiple columnsGoogle 表格:将 ArrayFormula 用于多列的 JoinText
【发布时间】:2020-05-25 14:09:53
【问题描述】:

我想将 ArrayFormula 用于 JoinText 的多个列,这些列在 Google 表格中有自己的 ArrayFormulas。 我的公式适用于具有纯文本值的列,但由于某种原因,当我将其应用于应用了自己的 ArrayFormulas 的列时,Google 表格会给我一个错误。

看看我创建的示例表HERE

任何帮助将不胜感激!

【问题讨论】:

  • 您的工作表受到保护。欲望的结果是什么?
  • 您要在哪个标签上工作?期望的结果是什么?
  • @Rocky 刚刚更新了表格。请看一看。
  • @MattKing - 刚刚更新了表格。请看一下

标签: google-sheets google-sheets-formula spreadsheet


【解决方案1】:

我希望这个带有查询的解决方案对您有所帮助:

=ArrayFormula(transpose(query(transpose(C1:D),,2)))

(如果您知道范围的限制,工作会更快,例如C1:D10)。


为了在列之间实现逗号,您可以使用

=ARRAYFORMULA(IF(C1:C="",D1:D,if(D1:D="",C1:C,C1:C&", "&INDIRECT("D1:D"))))

【讨论】:

  • 感谢您的回答,但速度很慢,而且我的工作表很长。那么单元格值之间的逗号呢?
  • 我明白了,我添加了另一个实现逗号的公式。我希望这对您有所帮助。
【解决方案2】:

我把这个公式放在样本表的单元格 I2 中。对于数千行,它应该相对较快。

=ARRAYFORMULA(SUBSTITUTE(TRIM(C2:C&CHAR(10)&D2:D),CHAR(10),", "))

【讨论】:

  • 感谢您的回答,但我认为您必须重新审视这个问题。我不想直接处理 A 列和 B 列。我主要关注 C 列和 D 列。
  • 我看到了,我认为如果我只使用 A 和 B 完成所有操作,您就不需要 C 和 D,因为看起来 C 和 D 只是用于构建连接的文本列我可以直接从 A 和 B 直接跳到那个地方
  • 这就是重点。我还提到过,在我不想使用 A 和 B,我想使用 C 和 D 的问题中。我不想使用你的公式的原因是它对 A 单元格的内容进行硬编码,因为单元格数据将来可能会发生变化。可以修改吗?
  • 我明白了,好的,我在工作表上修改了我的公式,在这篇文章中也有。
猜你喜欢
  • 2022-08-04
  • 2021-06-05
  • 1970-01-01
  • 2022-11-24
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 2022-08-08
  • 1970-01-01
相关资源
最近更新 更多