【问题标题】:How can I generate a three column list of unique "combos"?如何生成唯一“组合”的三列列表?
【发布时间】:2021-07-23 01:08:33
【问题描述】:

我有三列信息。例如:颜色、型号、年份。

我可以使用“唯一”指令在三个新列中生成颜色、型号、年份的每个唯一组合,每个列都在一个列中吗?

例如

color   model    year
red     sedan    2016
red     sedan    2020
black   truck    2018 

谢谢!

【问题讨论】:

  • Google 表格还是 excel?您期望从给定样本中得到什么结果?

标签: google-sheets unique


【解决方案1】:

假设您的三个标题位于 A1、B1 和 C1 中,并且您的数据运行在 A2:C 中。假设您想要 E:G 中的独特组合。首先,确保整个范围 E:G 为空。然后将以下公式放入E1:

=ArrayFormula({A1:C1;SPLIT(FLATTEN(UNIQUE(FILTER(A2:A,A2:A<>""))&"|"&TRANSPOSE(FLATTEN(UNIQUE(FILTER(B2:B,B2:B<>""))&"|"&TRANSPOSE(UNIQUE(FILTER(C2:C,C2:C<>"")))))),"|")})

公式首先从 A1:C1 复制标题。

组合是通过首先连接每个UNIQUE 模型(来自FILTERed 以删除空白的列表)与每个UNIQUE 年份(来自同样FILTERed 以删除空白的列表) , 每个之间都有一个管道符号作为SPLIT 稍后将使用的分隔符。

该组合网格被FLATTENed 合并到一个列中,然后再次与UNIQUEFILTERed 的颜色列表连接,并再次使用管道符号作为分隔符。再一次,整个结果网格被FLATTENed 到一个列中。

最后,SPLIT 作用于管道符号,将三个部分分隔到标题下各自的列中。

【讨论】:

    【解决方案2】:

    尝试:

    =INDEX({A1:C1; UNIQUE(QUERY(SPLIT(FLATTEN(FLATTEN(A2:A&"×"&
     TRANSPOSE(B2:B))&"×"&TRANSPOSE(C2:C)), "×"),
     "where Col3 is not null"))})
    

    任务很简单:取列 A 并将其与转置列 B 合并。将输出展平为一列,并将其与转置列 C 合并,然后再次将其展平为一列。然后拆分它并查询出所有少于 3 列的组合。接下来,通过 unique 运行它以删除重复项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多