Google 工作表公式,用于创建 "jagged list" 范围内所有唯一值的 1 列唯一输出范围
Google Sheets Formula to create a 1-column unique output range of all unique values in range of "jagged list"
文档:https://docs.google.com/spreadsheets/d/1N4cGw5eUq_3gCJh1w39qVatX9KV1_Hr-AqRHj_nbckA/edit?usp=sharing
数据预期
在Current Class!H3
处,table数据是显示在下拉菜单中的数据。
此数据直接来自Meta!B7:B
...
...可以来自 Students!$J:$O
的其中一列。该列由 Current Class!B3
中的值确定
Current Expected | Example Data Expect
--------------- -------- | ------------ ------
1) M1, M2, M3, M4 M1 | 1) M1, M2 ---> M1
2) M2 M2 | M2
3) M3 ---> M3 | --------------------------
4) M4 M4 | 1) T4 M2
5) M5 M5 | 2) M2 ---> T4
6) M4, M5, M6 M6 | 3) TH3 TH3
正如您可能确定的那样,我在一行中有一个可能的项目列表(这表明 1 名学生在一个特定房间中有多个 类 - 这种情况下 Yale
教室)。
我想要的是将列表分成单独的项目并生成仅包含唯一值的 1 列输出范围。
我试过使用SPLIT()
功能。虽然这会分解每个项目,但我找不到将结果展平为仅 1 列的解决方案。 但现在我在 Meta!B7
中有以下公式 ...
=iferror(Sort(Unique(Filter(Students!$J:$O, Find($B, Students!$J:$O) > 0 )), 1, true), "")
.
编辑:糟糕,忘记排序了。
这似乎有效:
=sort(unique(transpose(split(substitute(JOIN(", ",offset(Students!$I:$I,0,match($B,Students!$J:$O))),",","")," ",TRUE))),1,TRUE)
它:
- 找到正确房间参考的偏移量,
- 将所有行连接成一个字符串,每个值用“,”分隔,
- 删除所有逗号,并在空格 (" ") 上拆分字符串,
- 转置得到一个行数组,然后挑出唯一的行。
有趣的挑战!
文档:https://docs.google.com/spreadsheets/d/1N4cGw5eUq_3gCJh1w39qVatX9KV1_Hr-AqRHj_nbckA/edit?usp=sharing
数据预期
在Current Class!H3
处,table数据是显示在下拉菜单中的数据。
此数据直接来自Meta!B7:B
...
...可以来自 Students!$J:$O
的其中一列。该列由 Current Class!B3
Current Expected | Example Data Expect
--------------- -------- | ------------ ------
1) M1, M2, M3, M4 M1 | 1) M1, M2 ---> M1
2) M2 M2 | M2
3) M3 ---> M3 | --------------------------
4) M4 M4 | 1) T4 M2
5) M5 M5 | 2) M2 ---> T4
6) M4, M5, M6 M6 | 3) TH3 TH3
正如您可能确定的那样,我在一行中有一个可能的项目列表(这表明 1 名学生在一个特定房间中有多个 类 - 这种情况下 Yale
教室)。
我想要的是将列表分成单独的项目并生成仅包含唯一值的 1 列输出范围。
我试过使用SPLIT()
功能。虽然这会分解每个项目,但我找不到将结果展平为仅 1 列的解决方案。 但现在我在 Meta!B7
中有以下公式 ...
=iferror(Sort(Unique(Filter(Students!$J:$O, Find($B, Students!$J:$O) > 0 )), 1, true), "")
.
编辑:糟糕,忘记排序了。
这似乎有效:
=sort(unique(transpose(split(substitute(JOIN(", ",offset(Students!$I:$I,0,match($B,Students!$J:$O))),",","")," ",TRUE))),1,TRUE)
它:
- 找到正确房间参考的偏移量,
- 将所有行连接成一个字符串,每个值用“,”分隔,
- 删除所有逗号,并在空格 (" ") 上拆分字符串,
- 转置得到一个行数组,然后挑出唯一的行。
有趣的挑战!