多语言展示
当前在线:159今日阅读:100今日分享:18

EXECL表格中找父亲姓名问题的解决办法

在日常工作中如果我们知道某个学生的父亲姓名,但问题是我们现有的表格中父亲姓名和母亲姓名同时存在于一个单元格中,并且父母亲的姓名中间加了逗号,现在的问题是在我们知道学生姓名的前提下如何找出父亲的姓名并且放到另外一张表中的某个特定单元格中,今天我就为大家解决这个问题。
工具/原料

EXCEL 2003(其他版本都行)

方法/步骤
1

解决这个问题我们首先要熟悉IF、FIND、LEFT、MID等四个函数的语法结构:IF函数的语法结构:IF(logical_test,value_if_true,value_if_false);IF函数的汉语解释:IF(判断值,判断值为真的返回值,判断值为假的返回值);FIND函数的语法结构:FIND(find_text,within_text,start_num);FIND函数的汉语解释:FIND(要查找的文本,包含要查找文本的文本,指定开始进行查找的字符);LEFT函数的语法结构:LEFT( string, n )LEFT函数的汉语解释:LEFT(字符串,要从左向右截取的字符个数);MID函数的语法结构:mid(text, start_num, num_chars);MID函数的汉语解释:mid(字符串,开始截取位置,截取字符个数);

2

明确什么是嵌套函数:嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用,这一函数就是嵌套函数。

3

工作问题:    已知如下图在excel表格中的D列已经显示的是学生姓名,I列是从其它表格中复制过来的父母亲的姓名(母亲和父亲的姓名都在I列,父母的姓名之间用是用逗号隔开的,并且父母亲的顺序是随机的,如下图所示),要求根据以上信息,在表格的C列中填入父亲的姓名,我们该怎么办?现在我就用EXCEL嵌套函数提取父亲的姓名,仅供大家参考:

4

首先在C3单元格中输入公式=IF(FIND(LEFT(D3,1),I3,1)>1, MID(I3,FIND(LEFT(D3,1),I3,1),3),LEFT(I3,FIND(',',I3,1)-1)),然后拖动C3单元格右下角的填充柄至C7。

5

思路解析:      在这个嵌套函数里面我注意到I列中父母的名字都是中间用逗号隔开的,所以这个逗号是解决问题的突破口,只要从这里开始思考,问题就会迎刃而解,下面我分以下几步对第二种解法进行庖丁解牛式的思路解析:      1、首先我们要知道D列的学生姓氏在I列中出现的位置(一般情况下孩子的姓氏和父亲的相同),找到了这个姓氏所在的位置,我们就可以知道父亲的姓名在逗号之前还是在逗号之后(如果FIND(LEFT(D3,1),I3,1)函数的返回值等于1,说明父亲姓名在逗号前面,如果大于1,说明父亲姓名在逗号的后面),我们先以上图“张娟”这位学生为例,FIND(LEFT(D3,1),I3,1)函数的返回值是4,是大于1的,所以执行的是MID(I3,FIND(LEFT(D3,1),I3,1),3)这个函数段,我们再以“吴永前”这名学生为例,FIND(LEFT(D3,1),I3,1)函数的返回值是1,是等于1的,所以执行的是LEFT(I3,FIND(“,”,I3,1)-1)这个函数段。      2、从上面的介绍中相信大家肯定注意到了三个函数段:FIND(LEFT(D3,1),I3,1);MID(I3,FIND(LEFT(D3,1),I3,1),3);LEFT(I3,FIND(“,”,I3,1)-1)。FIND(LEFT(D3,1),I3,1)函数段是用于确定D列中学生的姓氏在I列中出现的位置的;MID(I3,FIND(LEFT(D3,1),I3,1),3)函数段是在FIND(LEFT(D3,1),I3,1)函数段的返回值大于1时执行的,它执行的结果是返回I列中逗号后面的姓名的,也就是父亲姓名在逗号后面的情况下执行的函数段。LEFT(I3,FIND(“,”,I3,1)-1)函数段是在FIND(LEFT(D3,1),I3,1)函数段的返回值等于1时执行的,它执行的结果是返回I列中逗号前面的姓名的,也就是父亲姓名在逗号前面的情况下执行的函数段。      3、注意点:函数段LEFT(I3,FIND(“,”,I3,1)-1)中的逗号和I列中的逗号都要在英文状态下输入的逗号,不然的话会出现错误,所以在使用本公式之前要把I列中的逗号替换成英文状态下的逗号以后再使用本公式;当FIND(LEFT(D3,1),I3,1)的返回值为错误值得时候,说明FIND(LEFT(D3,1),I3,1)函数段在I列没有找到和学生姓氏相同的姓氏,这就说明还在家庭成员中没有父亲或者有其他的特殊情况,这种情况要单独处理,毕竟这种情况是极其少数的事情,可以手动输入。

注意事项
1

此嵌套函数的嵌套层数比较多,根据经验,在输入函数的时候一定要把输入法切换到英文状态,不然的话就会出现错误。

2

本文为本人根据自己的工作问题撰写的原创作品,请勿转载,谢谢!

推荐信息