认识最短函数T
T函数:检测给定值是否为文本,如果是文本按原样返回,如果不是文本则返回双引号(空文本)。
数值:返回空文本;
文本型数字:返回文本型数字;
文本:返回该文本;
日期:返回空文本;
逻辑值:TRUE/FALSE返回空文本;
错误值:返回错误值本身。
1、为公式添加注释
输入公式:
=B2+300&T(N('300是奖金'))
公式中有个300,我想知道这300是什么?
N('300是奖金')部分是N函数将文本转换成0;
T(N('300是奖金'))部分T函数将0转换成空;
公式&空,并不影响公式返回的结果。
2、T(NOW())的应用
在使用宏表函数时,写完公式后,在其后面再&T(NOW()),这是什么意思呢?
宏表函数一般无法自动重算,而NOW函数返回当前日期和时间,时间的每一秒都在变,
NOW是易失性函数,T(NOW())起更新作用,打破了宏表函数不能自动更新的局限。
以获取单元格填充颜色代码为例:
- 公式后面不加T(NOW()):
在【公式】选项卡下选择【定义名称】,弹出【新建名称】对话框
在C2单元格输入:=颜色
按<Enter>键,向下填充公式。
把B7单元格填充颜色,然后保存工作簿,注意要保存为Excel启用宏的工作簿(*.xlsm)。
然后再打开该工作簿,C7单元格并没有更新填充颜色代码。
- 公式后面加T(NOW()):
引用位置输入公式:
=GET.CELL(63,Sheet3!B2)&T(NOW())
保存工作簿,然后再打开该工作簿,C7单元格颜色代码已更新。
3、函数VLOOKUP+T(IF{1})的应用
求客户编号为SZ001、GZ003、SZ004的应收账款合计:
在之前介绍N函数时,就有这个案列,Excel教程:小小的N函数竟如此厉害,当时客户编号是数值,用的是N函数,而现在客户编号是文本,所以使用T函数。
N函数是相对于数值,T函数是相对于文本。
输入公式:
=SUM(VLOOKUP(T(IF({1},D2:D4)),A2:B9,2,0))
T(IF({1},D2:D4))返回内存数组{'SZ001';'GZ003';'SZ004'}
VLOOKUP(T(IF({1},D2:D4)),A2:B9,2,0)部分返回{8422;14935;9379}
最后再套个SUM函数求和,返回32736。