有网友留言:我想问一下比如我有一列数字237864344。我想找出864这三个数字中8之前是几,4之后是几我应该用excel怎么做?
这个问题我们可以按如下思路:
比如:(分别要取逗号之前和之后的内容)
ABC001DEF, abcdef001
ABC002DEF, abcdef002
ABC003DEF, abcdef003
公式如下:
取之前的内容
=LEFT(A1,FIND(“,”,A1)-1)
取之后的内容
=RIGHT(A1,LEN(A1)-FIND(“,”,A1))
向下复制公式
比如:(提取第二个逗号之后的内容)
ABC001DEF, abcdef, 001
ABC002DEF, abcdef, 002
ABC003DEF, abcdef, 003
如需要提取从左到右数起第二个“,”后面的所有内容,我们需要用到的函数有四个。
因为“,”有两个,这时,我们需要用到SUBSTITUTE函数来把第二个“,”替换成别的字符。比如,用“/”来替换。
下面,我们开始操作,
在B2单元格输入 公式:
=RIGHT(A2,LEN(A2)-FIND(“/”,SUBSTITUTE(A2,”,”,”/”,2)))
思路是:
1,用SUBSTITUTE函数把第二个“,”替换成“/”,这样方便接下来FIND函数的查找;
2,再用FIND函数找出“/”的所在位置;
3,再用LEN函数得出单元格数据总字符数,再减去“/”所在的位置。这样就得出了需要提取的字符数了。
4,然后,再用RIGHT函数来提取了。
假设,所提取的内容只是指定字符后面部分内容,这时,又如何写公式提取呢。
提取从左到右数起第二个“,”后面的两位字符?
同样,用到SUBSTITUTE函数来把第二个“,”替换成别的字符。比如,用“/”来替换。
在B2单元格输入 公式:
=MID(A2,FIND(“/”,SUBSTITUTE(A2,”,”,”/”,2))+1,2)
思路是:
1,用SUBSTITUTE函数把第二个“,”替换成“/”,这样方便接下来FIND函数的查找;
2,再用FIND函数找出“/”的所在位置;再加1位,那么就是要提取的两位数字的第一位。
3,用MID函数截取。
如下图,要提取#后面的字符,也即红色的“SDK”到B列。
首先,在B2中输入公式:
=FIND("#",A2)
返回#在字符串中的位置,#在A2单元格文本中是第6个字符。
知识点说明:
FIND()函数查找第一参数在第二参数中的位置。如下图,查找“B”在“ABCD”中是第几个字符。第一参数是要查找的字符“B”,第二参数是被查找的字符串。最终返回“B”在“ABCD”中是第2个字符。
然后,在B2中输入公式:
=MID(A2,FIND("#",A2)+1,99)
这样,就提取出了#后的字符。
知识点说明:
MID()函数返回从字符串中制定字符开始若干个字符的字符串。如下图,MID()函数返回“ABCDE”字符串中从第2个字符开始的连续3个字符,也就是返回“BCD”。