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

excel用函数提取姓名和朝代?,第1张

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如法炮制

您好,我就为大家解答关于excel怎么提取名字,excel表格提取名字相信很多小伙伴还不知道,现在让我们一起来看看吧!1、1. 宏表函数法:插...

您好,我就为大家解答关于excel怎么提取名字,excel表格提取名字相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、1. 宏表函数法:插入名称——定义:名称中输入一个定义名称的符号或单词,如Name,引用位置中输入:=***.workbook(38) 按添加后确定。

2、在任意单元格中输入定义的名称:=Name,将获得工作表名称。

3、2. VBA法,VBA的代码有所不同,但基本原理是一样的。

4、下面是一个典型的代码:Function ShtName() ***.volatile ShtName = application.***.nameEnd Function在工作表的单元格中输入:=ShtName即可获得工作表名称。

Sub ss()

Dim ss(50) As String

Dim MyValue

For i = 1 To 50

ss(i) = "李四" &i

Next

'可以单独给每个赋值,我这里为了方便循环一次性赋值了。

'ss(1)="zhangsan"

'ss(2)="lisi"

'vb中随机函数

'Int((upperbound - lowerbound + 1) * Rnd + lowerbound)这里,

'upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。

Randomize

MyValue = Int((rnd * (UBound(ss) - 1 + 1)) + 1)

MsgBox ss(MyValue)

End Sub

 


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8005527.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存