EXCEL截取单元格内部分字符串、根据前一列某些字符替换本列的某
2020-07-09 本文已影响0人
全方位小白
最近有一个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~