在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小时内删除。
发表评论