对于 Excel 里字符串的处理,拆分和合并是比较常见的需求。 合并,当前最好用的函数非TEXTJOIN不可。 拆分,Office365 于 2022 年 3 月更新了一个神奇的拆分函数:TEXTSPLIT 语法参数: 【text】 要拆分的文本。必需。 【col_delimiter 】标记跨列溢出文本的点的文本。 【row_delimiter 】标记向下溢出文本行的点的文本。可选。 【ignore_empty 】指定 TRUE 可忽略连续分隔符。默认为 FALSE,这会创建一个空单元格。可选。 【match_mode】 指定 1 以执行不区分大小写的匹配。默认为 0,这会执行区分大小写的匹配。可选。 【pad_with】用于填充结果的值。默认值为 #N/A。 将A1单元格的内容按“、”拆分,跨列溢出。 =TEXTSPLIT(A1,'、') 将A1单元格的内容按“、”拆分,“、”设置到第三参数,表示跨行溢出。 =TEXTSPLIT(A1,,'、') 根据两个不同的符号,分别按行和按列溢出 =TEXTSPLIT(A1,'、',';') 如果对方不按套路出牌,数据中用了好几个不同的分隔符,TEXTSPLIT一个数组应用就搞定。 =TEXTSPLIT(A1,{'、','/','\',';',' '}) 应用案例 找出两个数组中相同数据的个数。 =COUNT(XLOOKUP(TEXTSPLIT(A2,' '),TEXTSPLIT(A3,' '),--TEXTSPLIT(A3,' '))) 看似很长的公式,逻辑很简单。 TEXTSPLIT拆分A2数据作为XLOOKUP的查找值; TEXTSPLIT拆分A3作为XLOOKUP的查询区域,即将上一步拆分所得数据逐一放到此区域中对比查找;如有找到则返回对应的A3拆分值。 最后用COUNT统计其中数字的个数,即两个数组中相同的数字个数。 如果没有TEXTSPLIT,这是一个很棘手的问题。 |
|