首页 > Excel专区 > Excel教程 >

excel 把名字罗列在同一个单元格中,但由于后面工作需要,需要把名字挨个提取出来

Excel教程 2021-10-13 10:07:26

在有些统计名单中通常会把名字罗列在同一个单元格中,但由于后面工作需要,需要把名字挨个提取出来,往往需要加班加点才能完成。

今天结合工作实际,介绍两种方法。

以图1为例子:

 (图1)

如图1,要将各部门的人员从单元格中分离出来。

一、分列法

分列法属于“简单直接粗暴”的办法,但是在分列前要注意是否有合并单元格,图1中“镇站所名单”是合并单元格,所以不能直接进行分列操作,否则会出现图2的提示框。

(图2)

所以,在分列前需要把合并单元格所在行删除或者取消合并。之后就可以进行分列操作了:

1.选中C列→在数据选项卡中选择【分列】

2.在弹出的“文本分列向导”中选择“分隔符号”→单击“下一步”→在“分隔符号”的“其他”中输入“、”→单击“下一步”→单击“完成”。

如图3所示:


 (图3)

3.对提取出来的名字再做整理,就可以了。

二、函数法

用宏表函数Evaluate也可以较好地解决以上问题。

Evaluate函数语法结构是:

Evaluate(formula_text)

该函数主要表示“对文本表示的一个公式或表达式进行求值”,formula_text是一个以文本形式表示待求值的表达式。

由于宏表函数不能直接使用,必须对其进行定义。

1.按Ctrl+F3唤出“名称管理器”

2.在“名称”中输入“tq”,在引用位置输入:

=EVALUATE("{"""&SUBSTITUTE(Sheet1!$C3,"、",""",""")&"""}")

如图4所示:

 (图4)

【公式讲解】

名字都是用顿号(、)来间隔,用Substitute函数将顿号替换成英文状态下的引号(”),将文本字符串转换成文本数组。如C5单元格转化后相当于形成以内存下数组:

{"周二五","韦六八","吴一二","小明"}

3.在F3单元格中输入

=Index(tq,column(a1))

4.填充之后去掉错误值,就可能得到分离出来的名字了。

如图5所示:


(图5)

两种方法各有优劣,请大家结合自身实际来使用。^-^

【温馨提示】

宏表函数不能存于后缀为xlsx的表格中,建议用xls或者xlsm表格。


标签: excel名字罗列同一个单元格

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.