总结篇--无规律混合汉字数字拆分技巧

送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

上一篇我们介绍了英文和数字混合字符串的拆分技巧。由于这样的技巧实在是太重要了,因此今天我将再介绍一下当汉字和数字混合时的拆分技巧。

01

LOOKUP函数

关于LOOKUP函数的使用,请参考帖子总结篇-LOOKUP函数实用终极帖

在单元格C2中输入“=-LOOKUP(1,-LEFT(A2,COLUMN(A:X)))”即可。

思路:

  • 用COLUMN(A:X)来产生一个新的数组{1,2,...24}

  • 用LEFT函数分别提取“1,16,168...”,并形成一个新的数组

  • 加负号是数字类型的数据变成负数

  • 使用LOOKUP函数在数组中查找“1”

  • 查找不到“1”,因此返回数组中最后一个数字类型的数据“-168318”

  • 最后负负得正,得到正确的答案

02

SUBSTITUTE函数

关于SUBSTITUTE函数的用法请参考之前有一个帖子Substitute函数使用简介

在单元格D2中输入“=--RIGHT(A2,SUM(LEN(A2)-LEN(SUBSTITUTE(A2,{0,1,2,3,4,5,6,7,8,9},""))))”并CTRL+SHIFT+ENTER回车即可。

在单元格C2中输入“=LEFT(A2,LEN(A2)-LEN(D2))”即可。

思路:

  • 利用SUBSTITUTE函数用“”代替原字符串中0-9的数字

  • 利用LEN函数计算替代后的字符串长度

  • 用替代前的字符串的长度减去替代后的字符串的长度,得出被替代的0-9每个数字的个数

  • 将以上求和,得出原字符串中数字的位数

  • 最后分别用LEFT函数和RIGHT函数将文本和数字分别提取出来。

03

SEARCHB函数

当遇到中文和数字混合的文本时,就可以向下面一样提取数值。

在单元格B2中输入“=-LOOKUP(1,-MIDB(A2,SEARCHB("?",A2),COLUMN(A:W)))”并向下拖曳即可。

思路:

  • 利用SEARCHB函数的通配符查找功能,查找字符串中首个单字节字符

  • COLUMN(A:W)提供了1-23这样一个数组

  • 利用MIDB函数从首个单字节字符开始向右依次提取长度为1-23的字符串,通过负运算将数字转换为负数,文本转换为错误值

  • 利用LOOKUP函数查找整数,并返回最后一个负数

  • 负运算得到正确的结果

04

利用WORD

如图,例如下面的数据,EXCEL普通公式是无法解决此类字符串的拆分的。

在WORD的帮助下,问题轻松解决。

复制字符串到WORD中,打开替换对话框,在查找中输入“[!^1-^127]”;在替换中单击一下,勾选“使用通配符”。看看会发生什么!

单击“全部替换”后,

将数据复制回EXCEL即可。

同样的操作,我们也可以提取中文。在替换对话框中输入“[^1-^127,a-z,A-Z,0-9]”,在替换中单击一下,勾选“使用通配符”,看看会发生什么!

^1-^127:表示所有西文字符

a-z:表示所有小写英文字符

A-Z:表示所有大写英文字符

0-9:表示所有数字

[]:表示指定的字符之一

最后,将数据复制回EXCEL即可。

05

结束语

通过这两天的例子,我们学会了如何利用函数公式,以及配合WORD来实现数字英文混合字符串,汉字数字混合字符串的数据拆分。有一点特别重要,通过和WORD的配合,解决了EXCEL不能处理超过15位数字的限制。今后,任意长度的字符串拆分将不会有任何问题

文章推荐理由:
数据拆分是EXCEL日常工作内容之一,应熟练地应用!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

本期阅读分享赠书书目为:

赠书规则:

  • 本公众号下文章“阅读最多”排名和“分享最多”排名各自第一名的朋友将会获赠一本

  • 截止时间:2021-5-9

我就知道你“在看”

注意!前方有红包挡道!速点阅读原文消灭之!

(0)

相关推荐