描述
使用此函数可以根据指定的分隔符将文本字符串拆分为行和列。
句法
TEXTSPLIT(text, [col_delimiter], [row_delimiter], [ignore_empty], [match_mode], [pad_with])
输入
该函数接受以下参数:
| 姓名 | 必要 | 描述 | 有效输入 |
|---|---|---|---|
文本 |
是 | 要分割的文本字符串或范围。 | 包含文本的文本字符串、单元格引用或单元格区域。 |
列分隔符 |
否 | 用作列分隔符的字符。 | 一个文本字符串,可以为空。如果省略此步骤,则不会进行列拆分。 |
行分隔符 |
否 | 用作行分隔符的字符。 | 一个文本字符串,可以为空。如果省略此步骤,则不会进行行拆分。 |
忽略空值 |
否 | 是否忽略结果中的空元素。默认值为 FALSE。 | 只能是 TRUE 或 FALSE(不能使用 1 或 0)。 |
匹配模式 |
否 | 指定如何匹配分隔符。默认值为完全匹配(0)。 | 0 = 完全匹配,1 = 不区分大小写。 |
pad_with |
否 | 如果拆分导致行数不均匀,则使用此值作为填充。 | 任意值。如果省略,则使用#N/A。 |
实例
范例数据
数据集 1
| A | B | |
|---|---|---|
| 1 | 胡安·多伊,30岁,纽约 | 伊莱恩,西西克,24岁,布鲁克林 |
| 2 | 简·史密斯,27岁,芝加哥 | 迈克尔·戴维斯,34岁,丹佛 |
| 3 | 鲍勃·约翰逊,35岁,洛杉矶 | 斯塔夫罗斯·科契奇,27岁,匹兹堡 |
数据集 2
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 日期 | 天 | 月份 | 年 |
| 2 | 1/23/2024 | 1 | 23 | 2024 |
| 3 | 2/4/2023 | 2 | 4 | 2023 |
| 4 | 19/3/2025 | 19 | 3 | 2025 |
数据集 3
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 伊莱恩·西西克,24岁,布鲁克林;迈克尔·戴维斯,34岁,丹佛;斯塔夫罗斯·科契奇,27岁,匹兹堡;拉肖恩·史密森,29岁,达拉斯 | |||
| 2 | ||||
| 3 | ||||
| 4 |
| 用例 | 公式 | 结果 | ||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 将单元格中的文本拆分为多个水平相邻的单元格,以逗号作为分隔符。 | =TEXTSPLIT(A1, ",") |
此公式将单元格 A1 中的文本拆分为四个水平相邻的单元格,以逗号作为分隔符。对于数据集 1,此公式返回以下结果:
注意: 默认情况下,TEXTSPLIT 函数会将空值视为空白,因此如果 A1 单元格中的值为
要忽略空值,请将 ignore_empty 设置为 TRUE:
|
||||||||||||||||||||||||||||||||||
| 将多行单元格拆分为垂直相邻的单元格,以逗号作为分隔符。 | =TEXTSPLIT(A1:B3, ",") |
该公式将单元格数组 A1:A3 中的文本提取到垂直相邻的单元格中,使用每个单元格中的第一个逗号作为分隔符。对于数据集 1,此公式返回以下结果:
|
||||||||||||||||||||||||||||||||||
| 将包含多个值的单个单元格拆分为 4 个垂直相邻的单元格。 | =TEXTSPLIT(A1, , ",") |
此公式将单元格 A1 中的文本拆分为四个垂直相邻的单元格,以逗号作为分隔符。对于数据集 1,此公式返回以下结果:
|
||||||||||||||||||||||||||||||||||
| 从单元格中的数据集中提取第三项。 | =INDEX(TEXTSPLIT(A1, ","), 1, 3) |
该公式首先使用逗号作为分隔符将单元格 A1 中的文本拆分为四个单元格。然后提取INDEX 中的第三个项目。对于数据集 1,此公式返回以下结果:
|
||||||||||||||||||||||||||||||||||
| 将日期拆分为日、月和年 | =TEXTSPLIT(TEXT(A2, "m/d/yyyy"), "/") |
该公式首先使用 TEXT 将单元格 A2 中的值从日期更改为格式为
|
||||||||||||||||||||||||||||||||||
| 取一段混合数据字符串,将各个条目分开,并按城市名称排序。 |
此用例需要在相邻单元格中输入 3 个公式。
|
使用数据集 3,将生成以下内容: 公式 1 在单元格 B1 中将 A1 中的字符串拆分为垂直单元格,在每个“;”处创建一个新单元格。
公式 2 (在单元格 C1 中)将 B1 中的字符串拆分为垂直单元格,在每个“”处创建一个新单元格,从而生成第一行。点击并向下拖动单元格即可填充下一行,结果如下:
公式 3 (在单元格 F1 中)使用 SORT 按城市字母顺序对 C1:E4 范围内的单元格进行排序,结果如下:。
|
笔记
- 与所有数组函数一样,TEXTSPLIT 函数会从包含 TEXTSPLIT 函数的单元格开始,动态地将结果填充到相邻的单元格中。
- 文本分割:
- 可以使用不同的分隔符进行水平和垂直分割。
- 支持区分大小写和不区分大小写的匹配。
- 可以处理带有自定义填充的空值。
- 如果找不到提供的分隔符,TEXTSPLIT 将返回原始文本,保持不变。例如,如果我们对文本字符串“apple orange”使用 TEXTSPLIT,并将句点配置为分隔符,则 TEXTSPLIT 将返回
apple orange。
使用技巧
- 如果数据有标题行,则数组值从下一行开始(例如,在上面的数据集中,从 A2 而不是 A1 开始)。
- TEXTSPLIT 可以与其他函数结合使用,包括:
相关功能
以下是 Workiva 电子表格中支持的其他数组公式函数。