Hi,大家好,我是偏爱函数公式,爱用 Excel 图表管理仓库的大叔 Mr 赵~
在工作中,我们总会碰到各式各样的文本处理问题,比如数字格式转换,文本的合并和拆分等等。
面对这些既常见又令人头痛的难题,Excel 有专业的文本函数来解决,比如TEXT 函数,这也是大部分表哥表姐都曾用过的。
除此之外,Excel 也在不断更新优化 TEXT 函数,比如文本合并函数 TEXTJOIN、文本拆分函数 TEXTSPLIT。
接下来,我们就通过三个案例,一起看看这些文本函数的具体用法吧。
TEXT 函数可以将数字转化为自己想要的文本格式。
如下图,公司为了方便发放物资,需要将各部门小计的数量,单位转换后按部门发放。效果如 F 列所示。
(其中单位换算关系为:每箱 6 盒,每盒 10 块。)
在 F3 单元格输入公式:
=TEXT(INT(E3/60),"#箱")&SUBSTITUTE(TEXT(MOD(E3,60)/10,"#盒#块/10 盒"),"/10 盒",)
上面的公式两次用到了 TEXT 函数。
TEXT 函数通过第 2 参数格式化代码,对数字格式化,从而更改数字的显示方式。它的用法是:=TEXT (数字,格式代码)
TEXT 函数的格式代码与单元格自定义格式代码类似。它分为 4 个条件区段,各区段之间用半角分号间隔:[条件 1];[条件 2];[不满足条件 1 和条件 2];[文本]
默认的情况下是:正数; 负数; 零; 文本
👉 公式解析:
❶我们回到案例中的公式:
TEXT (INT (E3/60),"#箱;;")
首先 INT (E3/60) 得到箱数,即:
INT(393/60)=6。
然后用 TEXT 函数通过格式代码"#箱;;"显示值的方式:
如果是正数则显示多少箱,如果是 0 则不显示。6 是正数,结果显示 6 箱。
❷TEXT (MOD (E3,60)/10,"#盒#块 / 10 盒;;")
MOD (E3,60) 表示除去整箱数之后,还剩 33 块。除以 10 转化成小数多少盒,结果为 3.3。
然后 TEXT 函数将这个值转化成以 10 为分母的分数格式 (如:3 3/10), 得到结果 3 盒 3 块 / 10 盒。
再用 SUBSTITUTE 函数将多余的文字 "/10 盒" 替换为空字符。
❸ 最后将TEXT (INT (E3/60),"#箱;;")和TEXT (MOD (E3,60)/10,"#盒#块 / 10 盒;;") 用连接符号「&」连接起来,得到最终单位转换的结果。
如下图,需要根据 E2 单元格的姓名,把 B 列包含该姓名的所有特点,都合并到右侧 F2 单元格里,中间用顿号(、)隔开。
这个时候我们就可以直接使用TEXTJOIN函数完成工作。
这个函数是 Office 2016 版本新增的文本合并函数。有了这个函数,单元格文本合并就变得轻松简单了。
在 F2 单元格输入如下公式:
=TEXTJOIN("、",TRUE,IF(B2:B16=E2,C2:C16,))
👉 公式解析:
TEXTJOIN 函数基本用法为:TEXTJOIN (间隔符,是否忽略空白,要合并的内容)
❶ TEXTJOIN 函数的第 1 参数使用顿号作为间隔符;
❷ 第 2 参数使用 TRUE,表示忽略空文本;
❸ 第 3 参数 IF (B2:B16=E2,C2:C16,""),用 IF 函数判断 B2:B16 是否等于 E2 单元格的姓名,如果符合,则返回 C2:C16 中对应的特点,否则返回空文本;
❹ 最后再使用 TEXTJOIN 函数,忽略里面的空文本合并字符,就得到想要的结果了。
怎么根据 B 列的规格直接转化成体积?效果如 C 列所示:
这个时候就可以用 TEXTSPLIT 函数轻松拆分「规格」中的数值,再进行计算。
在 C2 单元格输入公式,
=PRODUCT(--TEXTSPLIT(B2,"*"))
👉 公式解析:
❶ 首先用 TEXTSPLIT 函数将 B2 字符串按星号拆分成一列显示;
TEXTSPLIT 函数的作用是根据分隔符拆分字符串。
TEXTSPLIT (文本,列分隔符,[行分隔符],[是否忽略空值],[填充文本])
本例中省略了最后 3 个参数。
❷ 然后用「--」将拆分后的数组转化成数值;
❸ 最后用 PRODUCT 函数求乘积,就得到体积。
小 TIPS:
TEXTSPLIT 函数,目前仅允许安装 Office365 且加入预览体验计划的小伙伴使用。
❶ TEXT 函数是使用频率非常高的文本函数,它可以根据格式代码设置数字的各种文本样式。觉得还没学够,点击下方文字链接看往期文章:
Excel 里的「整容大师」到底 skr 啥?学会后颜值立马 level up!
磨 skr 人的长长长长长长公式,套路原来这么简单?!
❷ TEXTJOIN 函数可以将区域的字符按指定的规则,连接成字符串,解决了按照条件合并文本的难题;
❸ TEXTSPLIT 函数的作用是按照特定的分隔符拆分字符串,是一个强大的文本拆分函数。
本文来自微信公众号:秋叶 Excel (ID:excel100),作者:赵骄阳,编辑:竺兰
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。