离不开的office——取单元格中特定字符后的内容

离不开MS,很多时候是为了偷懒,虽然R已经强大成了平台,虽然python是万能胶水,但不能随时随地的使用,尤其是一些相对简单,但工作量实际不小的时候。

比如一个excel表格,一堆数据,要排个序,这是就会有各种蛋疼肝疼的事发生

刚遇到,记录一下

关键列是文本+数字

zk1

zk2

zk3

。。。

zk11

zk12

。。。

ms office很荣幸的排成:

zk1

zk11

zk12

。。。

zk2

zk21

。。。

即便是最新的office2013也有压力

需要祭出大煞气R、python吗?

当然不,折腾一下公式,赶快解决了好早掉扔掉这个excel表,所有的思路都是新增一列,把文本+数字变成数字,再排序就无压力了。

方法1:

新增一列,偷懒的方法,反正都是“zk”+数字,那么直接用公式,

Right(A2,Len(A2)-2)

用left应该也可以,只是会憋得慌。。。

方法2:

适用范围更广一些的公式:

Mid(A2,Find(“zk”,A2)+2,Len(A2))

mid函数的参数:要操作的对象A2,起始位置,取多长

find函数就是用来取起始位置的

len函数是长度,显然,这个长度超过了要取的值.

如果是要取特定字符前面的值呢?这样就有问题了.

可以修改为: Left(A2,Find(“zk”,A2)-1)

如果是要取中间的一段呢,还没想好,也没遇到,估计要多组合几个函数了,先这样吧。。。。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注