excel用函数提取姓名和朝代?

excel问题,如图,用函数提取姓名和朝代。

1、方法一:

在B2单元格内输入公式:

=SUBSTITUTE(A2,",",REPT(" ",30))

将"李白,唐朝,《蜀道难》"中的“,”替换为30个空格

这里注意下公式的中的第一组引号,使用的是逗号与A列中的逗号必须一致,中文下的逗号

第二组引号在REPT函数里,中间输入了一个空格,英文下的空格,目的是将“,”替换为30个“ ”(空格)

REPT是重复字符次数。

然后我们在对其取值,在公式前面套一个left,左取数值的意思

=LEFT(SUBSTITUTE(A2,",",REPT(" ",30)),4)

此时我们将诗人的姓名取出来了,这个单元格我们取了4个字符,防止有些人名是4个字的。

这里我们测算下B2的字符,使用len函数去测算

可以看出,字符为4,跟我们取出来的4个字符吻合

为了完美,我们可以在将多余的空格去掉,此时trim出场,trim是去掉多余的空格

=TRIM(LEFT(SUBSTITUTE(A2,",",REPT(" ",30)),4))

可以看到,测算字符的单元格就变成了2,也就是说B2单元格内的字符数为2,正好是“李白”的字符数

此时姓名已经取出来了,然后我们取朝代

我们将B2的公式复制到C2,不是复制单元格 ,是将里面的公式复制过去哦

修改公式为=TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",30)),30,10))

此时将left变成了MID函数

从第30个字符开始取,取10个

我们将代表作删除掉,用公式去做

将B2中的公式复制到D2,将left改成right即可,取数的数字4变成10

=TRIM(RIGHT(SUBSTITUTE(A2,",",REPT(" ",30)),10))

我们实际上可以将公式一条完成,下面我们在B2中重新修改下公式

在B2单元格内输入公式:

=TRIM(MID(SUBSTITUTE($A2,",",REPT(" ",30)),(COLUMN(A1)-1)*30+1,10))

然后将B2右拉,下拉,整个就完成了

因为右拉,所以中间的A2公式要锁定列

2、方法二:使用分列,当然分列做不到数据变化后自动更新,不过在不会函数的情况下使用分列很容易操作的

3、方法三:使用智能填充

在B2中打字“李白”然后选中B2:B16,按下cTrl+E,即可实现快速填充

C2,D2如法炮制

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-11-05

365以上版本带溢出功能的可以如下,

B2=TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",99)),COLUMN(A:C)*99-98,98))

向下填充


365以下版本不带溢出功能的

B2=TRIM(MID(SUBSTITUTE($A2,",",REPT(" ",99)),COLUMN(A1)*99-98,98))

右拉两格,再下拉填充。

第2个回答  2022-11-05

B2输入  =LEFT(A2,FIND(",",A2)-1)

C2输入   =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,B2,),D2,),",",)

2公式下拉

本回答被提问者采纳
第3个回答  2022-11-06

见下图,

b1单元格的公式为=MID(A2,1,FIND(",",A2)-1)

c1单元格的公式为=MID(A2,FIND(",",A2)+1,FIND(",《",A2)-FIND(",",A2)-1)

d1单元格的公式为=MID(A2,FIND(",《",A2)+1,20)

第4个回答  2022-11-07

这么规整的数据其实,直接使用数据分列功能最简便:按向导,分隔符用逗号,直接可分列出想要内容

相似回答