Filter Google Sheets Formula创建一个1列唯一输出范围,范围为“0”的所有唯一值;“锯齿状列表”;
文件:Filter Google Sheets Formula创建一个1列唯一输出范围,范围为“0”的所有唯一值;“锯齿状列表”;,filter,google-sheets,excel-formula,flatten,Filter,Google Sheets,Excel Formula,Flatten,文件: 数据期望 在当前类中!H3,表格数据是下拉菜单中显示的数据 此数据直接来自Meta!B7:B =iferror(Sort(Unique(Filter(Students!$J$5:$O, Find($B$6, Students!$J$4:$O$4) > 0 )), 1, true), "") . …可以来自学生的一个专栏$J$5:$O。该列由当前类中的值确定!B3 Current Expected | Example Data
数据期望 在
当前类中!H3
,表格数据是下拉菜单中显示的数据
此数据直接来自Meta!B7:B
=iferror(Sort(Unique(Filter(Students!$J$5:$O, Find($B$6, Students!$J$4:$O$4) > 0 )), 1, true), "")
.
…可以来自学生的一个专栏$J$5:$O
。该列由当前类中的值确定!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
正如您可以确定的那样,我在一行中有一个可能的项目列表(这表示一个学生在一个特定的房间里有多个班级-本例为Yale
教室)
我想要的是将列表分割成单独的项目,并生成仅包含唯一值的1列输出范围。
我已尝试使用SPLIT()
函数。虽然这会分解每个项目,但我找不到一个解决方案来将结果仅展平到1列。但是现在我在Meta中有以下公式!B7
=iferror(Sort(Unique(Filter(Students!$J$5:$O, Find($B$6, Students!$J$4:$O$4) > 0 )), 1, true), "")
.
编辑:哎呀,忘了分类了 这似乎有效:
=sort(unique(transpose(split(substitute(JOIN(", ",offset(Students!$I$5:$I$91,0,match($B$6,Students!$J$4:$O$4))),",","")," ",TRUE))),1,TRUE)
它:
- 偏移以查找正确的房间参照
- 将所有行合并为一个字符串,并用“,”分隔每个值
- 删除所有逗号,并拆分空格(“”)上的字符串
- 转置以获得一个行数组,然后选择唯一的行
有趣的挑战 哇,太棒了!我没想到这么快就得到结果。我需要一段时间才能明白这一点。我确实需要稍微修改一下,以便根据
类对数据进行排序!B5:B
。