Excel 提取文本列中的所有数字并用逗号隔开
可以使用 Excel 函数来提取文本中的数字。假设文本列 A 的数据如下:
| A列 | |---|---| | apple1234 | | orange5678 | | banana90 |
- 首先,在 B 列输入以下公式:
=TEXTJOIN(",",TRUE,FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[number(.)=.]"))
这个公式使用了 FILTERXML 函数来提取文本中的数字,并使用 TEXTJOIN 函数将提取的数字连接成一个字符串,多个数字之间用逗号隔开。
- 将公式拖动到 B 列的其他单元格中,即可将所有文本中的数字提取出来,如下图所示:
| A列 | B列 | |---|---| | apple1234 | 1234 | | orange5678 | 5678 | | banana90 | 90 |
- 如果文本中包含多个数字,公式也会将它们提取出来并用逗号隔开,如下图所示:
| A列 | B列 | |---|---| | apple1234and5678 | 1234,5678 | | orange5678 | 5678 | | banana90 | 90 |
注意:如果提取的数字中包含小数点或负号,可以使用以下公式:
=TEXTJOIN(",",TRUE,FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[number(.)=. or number(.)<0]"))
这个公式与前面的公式类似,只是在 FILTERXML 函数中增加了一个条件 [number(.)<0],用于提取负数。
原文地址: https://www.cveoy.top/t/topic/nN36 著作权归作者所有。请勿转载和采集!