Google sheets 根据列表中的值,将包含文本值列表的单元格拆分为其他单元格

Google sheets 根据列表中的值,将包含文本值列表的单元格拆分为其他单元格,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我想知道是否有可能根据一个可编辑的参考表,仅使用Google Sheets公式,而不使用Apps脚本,将包含逗号分隔列表的单元格拆分为不同的列 我创建了一个简化的版本来更好地解释我想要实现的目标 我看到一张这样的桌子: 在A2中有一个颜色名称列表,我希望它们在新的较小列表中被排序到正确的列中。理想的解决方案如下所示: 理想情况下,我会使用生活在B2、C2和D2中的公式来实现这一点。但是,哪个单元格中的内容必须是动态的,以便在出现新选项时,可以将它们排序到正确的单元格中 我认为实现这一点的最佳

我想知道是否有可能根据一个可编辑的参考表,仅使用Google Sheets公式,而不使用Apps脚本,将包含逗号分隔列表的单元格拆分为不同的列

我创建了一个简化的版本来更好地解释我想要实现的目标

我看到一张这样的桌子:

A2
中有一个颜色名称列表,我希望它们在新的较小列表中被排序到正确的列中。理想的解决方案如下所示:

理想情况下,我会使用生活在
B2
C2
D2
中的公式来实现这一点。但是,哪个单元格中的内容必须是动态的,以便在出现新选项时,可以将它们排序到正确的单元格中

我认为实现这一点的最佳方法是将公式与“主”文档中的参考表进行比较,同时保持列中的内容的动态性。例如:

B2
中的公式将引用表列
A
C2
将引用表列
B
,等等

这样,公式就不需要编辑了——我想避免这种情况,因为这个系统将用于许多不同的Google Sheets文档

虽然使用Apps脚本当然可以实现这一点,但我更希望公式能够起到重要作用,这样,如果有人继承了我的角色,他们就不需要理解Apps脚本/JS等来维护和/或修改系统

我可以想象,这个过程涉及到通过
,“
拆分
加入
,以及可能的
查找
(或
VLOOKUP
),但我无法确定这是如何(或是否)可能的

任何意见都将不胜感激


谢谢

将其粘贴到红色下方并向右拖动:

=INDEX(REGEXREPLACE(TRIM(FLATTEN(QUERY(TRANSPOSE(
 IF(REGEXMATCH($A11:$A, "(?i)"&
 TRANSPOSE(FILTER(master!A2:A8, master!A2:A8<>""))), 
 TRANSPOSE(FILTER(master!A2:A8, master!A2:A8<>""))&",", )),,9^9))), ",$", ))

粘贴在红色下方并向右拖动:

=INDEX(REGEXREPLACE(TRIM(FLATTEN(QUERY(TRANSPOSE(
 IF(REGEXMATCH($A11:$A, "(?i)"&
 TRANSPOSE(FILTER(master!A2:A8, master!A2:A8<>""))), 
 TRANSPOSE(FILTER(master!A2:A8, master!A2:A8<>""))&",", )),,9^9))), ",$", ))

正是我所需要的!非常感谢您的帮助。我需要向
REGEXMATCH
添加哪些内容,以便它只匹配参考表中的精确单词?因此,如果“皇家蓝”在颜色列表中,它将无法与“蓝色”和“皇家蓝”匹配@chrisbib answer updatedThanks@player0!正是我需要的!非常感谢您的帮助。我需要向
REGEXMATCH
添加哪些内容,以便它只匹配参考表中的精确单词?因此,如果“皇家蓝”在颜色列表中,它将无法与“蓝色”和“皇家蓝”匹配@chrisbib answer updatedThanks@player0!