在Excel中截取字段中的字符,我有3种方法供参考

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

(0)

相关推荐