如何生成唯一 "combos" 的三列列表?
How can I generate a three column list of unique "combos"?
我有三栏信息。例如:颜色、型号、年份。
我可以使用“唯一”指令在三个新列中生成颜色、型号、年份的每个唯一组合吗?
例如
color model year
red sedan 2016
red sedan 2020
black truck 2018
谢谢!
假设您的三个 headers 与您的数据 运行 A2:C 在 A1、B1 和 C1 中。假设您想要 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 重现 headers。
首先将每个 UNIQUE
模型(来自 FILTER
删除空白的列表)与每个 UNIQUE
年(来自也被编辑的列表)连接起来形成组合FILTER
删除空格),每个空格之间有一个竖线符号作为分隔符,SPLIT
稍后将使用。
该组合网格被 FLATTEN
编辑成一个列,然后再次与 UNIQUE
和 FILTER
编辑的颜色列表连接,然后再次与管道符号作为分隔符。再一次,整个结果网格 FLATTEN
编入一列。
最后,SPLIT
作用于管道符号,将三块分开到headers下各自的列中。
尝试:
=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去重。
我有三栏信息。例如:颜色、型号、年份。
我可以使用“唯一”指令在三个新列中生成颜色、型号、年份的每个唯一组合吗?
例如
color model year
red sedan 2016
red sedan 2020
black truck 2018
谢谢!
假设您的三个 headers 与您的数据 运行 A2:C 在 A1、B1 和 C1 中。假设您想要 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 重现 headers。
首先将每个 UNIQUE
模型(来自 FILTER
删除空白的列表)与每个 UNIQUE
年(来自也被编辑的列表)连接起来形成组合FILTER
删除空格),每个空格之间有一个竖线符号作为分隔符,SPLIT
稍后将使用。
该组合网格被 FLATTEN
编辑成一个列,然后再次与 UNIQUE
和 FILTER
编辑的颜色列表连接,然后再次与管道符号作为分隔符。再一次,整个结果网格 FLATTEN
编入一列。
最后,SPLIT
作用于管道符号,将三块分开到headers下各自的列中。
尝试:
=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去重。