在Excel中截取字段中的字符,我有3种方法供参考
在Excel中截取字段中的字符,我有3种方法供参考。
在平时的工作中,我们经常会遇到要截取某一个字段中的数字或者是文字。数据量小就无所谓方法,但数据量多的话,方法必须有讲究,同样的工作量,虽然最终结果相同,但对于所花的时间和精力来说,天壤之别。
比如以下的例子,“12345678你好”我们想只保留数字内容怎么办?复制和粘贴就不必了。以下讲的有3种方法,第一种是最快的,但对于office版本有要求,不能同步动更新。第2种和第3种是公式来实现,可以省时省力,动态更新。
要提取字符中的数字
结果
公式
思路
例 1
12345678你好
12345679
 无
新版本office中有智能填充功能,快捷键Ctrl+E,结果不能自动更新。不需更新首推。
例 2
12345678你好
12345678
=-LOOKUP(0,-LEFT(D5,ROW($1:$11)))
    考虑用left函数按1-10的要求分别截取字符段会得到10个值,利用Row函数生成1-10的行号数组。在left前面加了一个负号将这10个值转换成负数,数字没有问题,对于汉字会返回错误值,得到的负数和错误值组成了内存数组。然后利用Lookup函数的特点,当不到指定的值0时,忽略内存数组中的错误值,返回最后的一个负数,最后负负得正。注意,当数字在左边就用left,在右边就用right。否则得到的值都是错误值。
你好12345679
12345679
excel计算字符串长度=-LOOKUP(0,-RIGHT(D6,ROW($1:$11)))
例 3
12345678你好
12345678
=LEFT(D8,LEN(D8)-(LENB(D8)-LEN(D8)))
    字符的位数关系是本例的关键,“你好”是2位数,如何得到这个2,当得了2就可以利用总的字符数减去2就得到数字的位数,最终利用Left函数或right函数来截取。Len是计算字符位数,lenb是计算字节位数。汉字是双字节。他们之间的差异就是我们要的2.
你好12345679
12345679
=RIGHT(D9,LEN(D9)-(LENB(D9)-LEN(D9)))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。