Excel如何按大小写规则将A列单元格内容拆分至B、C列
Excel按指定规则拆分A列文本到B、C列方案
核心判定逻辑:以空格为单词分隔符,找到第一个满足「首字母大写、其余字母全小写」的单词位置,该位置之前的所有全大写单词存入B列,该位置及之后所有符合首字母大写规则的单词存入C列。
Excel 365/2021及以上版本(支持动态数组)
直接在B2单元格输入对应公式后下拉填充即可,无需三键结束:
- B列公式:
=LEFT(A2,MIN(IFERROR(FIND(" "&CHAR(SEQUENCE(26,1,65))&CHAR(SEQUENCE(1,26,97)),A2),999))-1) - C列公式:
=TRIM(MID(A2,MIN(IFERROR(FIND(" "&CHAR(SEQUENCE(26,1,65))&CHAR(SEQUENCE(1,26,97)),A2),999)),999))
Excel 2019及更早版本(不支持动态数组)
输入公式后需要按Ctrl+Shift+Enter三键确认数组公式,再下拉填充:
- B列公式:
=LEFT(A2,MIN(IFERROR(SEARCH(" "&CHAR(ROW(65:90))&CHAR(COLUMN(97:122)),A2),9^9))-1) - C列公式:
=TRIM(MID(A2,MIN(IFERROR(SEARCH(" "&CHAR(ROW(65:90))&CHAR(COLUMN(97:122)),A2),9^9)),999))
公式逻辑说明:直接遍历所有大写+小写字母的组合,定位文本中第一个「空格+大写首字母+小写后续字符」的分界点,按分界点拆分文本,和给出的3组示例结果完全匹配:
- 原始值
ABC Abc:B列返回ABC,C列返回Abc- 原始值
BCD Bcd Cde:B列返回BCD,C列返回Bcd Cde- 原始值
CDE EFG Cde:B列返回CDE EFG,C列返回Cde
如果文本里存在超过9个单词的情况,把公式末尾的999改成更大的数值(比如9999)即可,不影响计算结果。
内容的提问来源于stack exchange,提问作者rs2687
相关产品推荐
相关产品推荐

