我的老读者应该不会完全不知道 text 函数,很多案例中我都介绍过这个函数的应用。
text 主要用来定义格式,虽然语法简单,但是用法博大精深,因为格式参数非常多,常学常新。
今天来看两个应用场景。
案例 1:从下图 1 的日期列中依次提取出年、月、日,分别用中文和数字两种形式显示。
效果如下图 2 所示。
解决方案 1:中文年月日1. 在 D2 单元格中输入以下公式 --> 下拉复制公式:
=TEXT(B2,"[DBnum1]yyyy年")
公式释义:
DBnum1 是一种数值化格式代码,作用是将数值转换为小写中文;
yyyy:提取出日期中的年份,并且以 4 位字符的形式显示;
年:在上述年份后面加上中文字符“年”
2. 在 E2 单元格中输入以下公式 --> 下拉复制公式:
=TEXT(B2,"[DBnum1]m月")
公式释义:
m:提取出日期中的月份,并以一位字符显示;当月份为两位数时,会自动显示两位数的完整月份名称;
3. 在 E2 单元格中输入以下公式 --> 下拉复制公式:
=TEXT(B2,"[DBnum1]d日")
公式释义:
d:提取出日期中的日,以一位字符显示;超过一位的自动显示实际位数
解决方案 2:数字年月日1. 在 G2 单元格中输入以下公式 --> 下拉复制公式:
=TEXT(B2,"[DBnum4]yyyy年")
公式释义:
DBnum4 是另一种数值化格式代码,用于将数值转换为数字;
公式的其余部分与第一套解决方案中的完全一致
2. 下面分别是“月”和“日”的公式:
=TEXT(B2,"[DBnum4]m月")
=TEXT(B2,"[DBnum4]d日")
案例 2:带文字的正负结果计算下图 1 中实际完成业绩较之指标的增幅,效果如下图 2 所示。
解决方案:普通情况下,增幅公式如下。
1. 在 D2 单元格中输入以下公式 --> 下拉复制公式:
=C2/B2-1
2. 选中公式区域 --> 将格式设置为百分比
如果要把正负号换成个性化的文字,可以这样设置。
3. 将公式修改如下:
=TEXT(C2/B2-1,"超标 0%;低于 0% 指标;持平")
公式释义:
原本的公式不变,成为了 text 函数的第一个参数;
"超标 0%;低于 0% 指标;持平":
第二个参数用 ; 分隔成了三段,分别代表正数、复数和 0 所显示的格式;
0% 相当于变量;
文本部分会原样显示在单元格中