EXCEL截取单元格内部分字符串、根据前一列某些字符替换本列的某几个字符的操作

最近有一个excel表格,其中一列列举了一些函数名,另一列需要填入的内容除了函数名,其他都一致。大概不到一百行,恰好是一个手动有点烦,但忍忍也能做的长度。本菜鸟决定维护程序员的尊严,能用代码解决的尽量不动手。于是去google了一下,方法列出来。

1. EXCEL截取前、中、后几个字符串的方法

涉及到三个函数:

LEFT();
RIGHT();
MID();

从名字就可以看出其用途,下面举例说明:

LEFT(A2,4);       // 取出A2单元格中字符串的前四位;
RIGHT(B3,5);    //  取出B3单元格中字符串的后五位;
MID(D6,5,4);     //  取出D6单元格中字符串从第五个字符开始的四位(从1开始计数);

2. 不确定要截取的子字符串的长度时

比如我要取函数名,但函数名长短并不固定,这时候就要用到FIND()函数。
举个栗子,有一列内容是这样的:

max函数
min函数
sqrt函数
···

那么就可以使用FIND("函数",A2)-1这样的语句来找到函数名的末尾。

3. 替换字符串的部分内容

这次就直接上函数吧:

SUBSTITUTE(要替换的文本,旧文本,新文本,[替换第几个])

前两节中的函数其实就是为了得到SUBSTITUTE()函数的参数,作用就是定位+确定子字符串。而本节就要实现替换操作了。

第一个参数可以放要修改的单元格编号,比如A2;
第二个参数定位到需要修改的字符串中要被替换掉的子字符串;
第三个参数定位到源单元格中需要用到的子字符串;
第四个参数可选,我这次没用到,就先不填了;

最后实现我的需求的语句如下:

=SUBSITIUTE(F2,LEFT(F2,FIND("函数",F2)-1),LEFT(B2,FIND("函数",B2)-1))

最后用填充柄向下拉一下就搞定了。
over~

你可能感兴趣的:(EXCEL截取单元格内部分字符串、根据前一列某些字符替换本列的某几个字符的操作)