【问题标题】:Google Spreadsheet - MIX several column values谷歌电子表格 - 混合几个列值
【发布时间】:2021-07-05 04:24:03
【问题描述】:

您好,我在 Google 电子表格中有 3 列或更多列,如下所示:

CITY SEASON COLOR
ROME SUMMER WHITE
PARIS SPRING BLUE
LONDON WINTER

我需要的是 3 列中所有值的组合,例如:

  • 罗马夏白
  • 罗马夏日蓝
  • 罗马春天白
  • 罗马春天蓝
  • 罗马冬白
  • 罗马冬季蓝
  • 巴黎夏白
  • 巴黎夏日蓝
  • 巴黎春天白
  • 巴黎春天蓝
  • 巴黎冬季白
  • 巴黎冬季蓝
  • 伦敦夏白
  • 等等……

考虑列可能有 2 个或更多。 有什么解决办法吗?谢谢!

【问题讨论】:

标签: google-sheets


【解决方案1】:

像这样使用 GoogleSheets 的内置函数join:

=JOIN(" ",A1,B1,C1)

可以查看join函数here的文档

加入函数

使用指定的>分隔符连接一个或多个一维数组的元素。

或者,如果您希望同时对多行执行此操作,您可以使用 Array formula,如下所示:

=ARRAYFORMULA(A1&" "&B1&" "&C1)

【讨论】:

  • 不,这不是我需要的结果。这就像连接,但我希望所有单元格以所有可能的组合混合在一起
【解决方案2】:

假设标题“City”在 A1 中,而您的原始数据示例的其余部分也是如此(即,所有内容都在 A1:C 中),应该这样做:

=ArrayFormula(FLATTEN(FILTER(A2:A,A2:A<>"")&" "&TRANSPOSE(FLATTEN(FILTER(B2:B,B2:B<>"")&" "&TRANSPOSE(FILTER(C2:C,C2:C<>""))))))

FILTER 将每个范围限制为仅包含数据的范围。

TRANSPOSE 在每种情况下都会将垂直范围之一翻转为水平范围,以形成可以用组合填充的虚拟网格。

这里的概要是 ColB 和 ColC 单词首先用空格连接。 FLATTEN 然后将该组合网格变成单列(就好像您只有 ColA 和 ColB-new 一样)。然后重复此过程,使用 ColA 和新形成的 ColB-C 组合,再次FLATTENed 形成最终的单列列表。

【讨论】:

  • 埃里克你是大师!谢谢
  • 乐于助人,伦道尔。并感谢您通过将帖子标记为“最佳答案”来结束循环。这将允许贡献者在不离开主要列表页面的情况下一目了然地看到哪些问题已经完全解决;它将帮助未来有类似问题的网站访问者更快地找到答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-29
  • 2012-05-02
  • 1970-01-01
相关资源
最近更新 更多