谷歌表格:如何将星期文本数组转换为整数数组?
解决逗号分隔星期文本转整数数组的问题
嘿,刚好可以基于你现有的MATCH公式,搭配文本拆分的函数来实现这个需求,分两种常见场景给你说明:
场景1:使用Excel 365/2021(支持动态数组)
直接用TEXTSPLIT拆分单元格里的多星期文本,再嵌套进你的MATCH公式里就行:
=MATCH(TEXTSPLIT(A2, ", "),{"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"},0)
- 原理:
TEXTSPLIT(A2, ", ")会把单元格里的Sunday, Monday拆分成单个的文本数组{"Sunday","Monday"},然后MATCH会逐个匹配你定义的星期列表,返回对应的整数数组,自动溢出显示成{7,1}(严格对应你列表里Monday=1、Sunday=7的顺序)。
场景2:旧版本Excel(不支持动态数组)
可以用FILTERXML来模拟文本拆分的效果,公式如下:
=MATCH(FILTERXML("<t><s>"&SUBSTITUTE(A2, ", ", "</s><s>")&"</s></t>", "//s"),{"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"},0)
- 原理:
SUBSTITUTE把逗号空格替换成XML的闭合/开启标签,生成一段简单的XML结构,FILTERXML会解析这段XML,提取出单个的星期文本数组,再用MATCH完成匹配。
注意事项
- 如果你的单元格里的分隔符是逗号不带空格(比如
Sunday,Monday),记得把公式里的", "改成",,保证拆分准确。 - 整数结果的顺序会和你输入的星期文本顺序完全对应,同时匹配你定义的星期列表数值规则。
内容的提问来源于stack exchange,提问作者schutte
相关产品推荐
相关产品推荐

