You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需VBA将字符串中的英文数字词转换为阿拉伯数字可行吗?

无需VBA实现电子表格中英文数字词转阿拉伯数字

可以不用VBA,根据你的Excel版本,用内置函数组合就能实现转换:

适用于Excel 365/2021(支持动态数组函数)

如果你的Excel版本支持动态数组,用下面的公式可以批量处理逗号分隔的字符串:
假设原始数据在A列,在B1单元格输入公式后下拉即可:

=TEXTJOIN(", ",TRUE,XLOOKUP(TRIM(TEXTSPLIT(A1,",")),{"one","two","three","four","five","six","seven","eight","nine","ten"},{1,2,3,4,5,6,7,8,9,10},TRIM(TEXTSPLIT(A1,","))))

公式逻辑:

  • TEXTSPLIT(A1,","):将逗号分隔的字符串拆分为单个元素的数组
  • TRIM():清除每个元素前后的空格(适配像four, five, 6这类带空格的格式)
  • XLOOKUP():匹配拆分后的元素,若为英文数字词则替换为对应阿拉伯数字,若已是数字则保留原内容
  • TEXTJOIN():将转换后的元素重新拼接为逗号分隔的字符串

适用于旧版Excel(无动态数组支持)

旧版Excel只能通过嵌套SUBSTITUTE函数实现,适合数字词范围有限的场景:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(A1),"one","1"),"two","2"),"three","3"),"four","4"),"five","5"),"six","6"),"seven","7"),"eight","8"),"nine","9"),"ten","10")

先通过TRIM()清除原始字符串前后的空格,再依次替换每个英文数字词为对应阿拉伯数字。

转换效果验证

原始数据:

1,2,3
1,2,three
4,five,6
four, five, 6

转换后结果:

1, 2, 3
1, 2, 3
4, 5, 6
4, 5, 6

内容的提问来源于stack exchange,提问作者SRJCoding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 20:35:26