分享

Excel | 依据身份证号码算生日补贴出错了

 bitterfleabane 2023-12-07 发布于浙江

问题

某公司规定:如果员工当月过生日,补贴500元。

但在计算补贴时,却出错了,如下图:

现在是12月份,本来有几位员工生日在本月,但计算出来的补贴却是0。

此处用的公式是:

=IF(MID(B2,11,2)=MONTH(TODAY()),500,0)

分析

公式“=IF(MID(B2,11,2)=MONTH(TODAY()),500,0)”,本身的逻辑关系是没错的,但如果将条件MID(B2,11,2)=MONTH(TODAY())表达式“=”左右两侧进行运算(分别选中,按F9键),可以看到结果如下图:

条件表达式为"12"=12,左侧是用英文状态双号号引起的,是文本格式,而右侧是数值12,所以条件比较的结果是FALSE,如下图:

所以,公式返回值是0。

改正

有两种改正公式的方法:

一是将条件表达式左侧的文本用函数转换为数值;

二是条件表达右侧的数值函数转换为文本

第一种方法的公式改为:

=IF(VALUE(MID(B2,11,2))=MONTH(TODAY()),500,0)

如下图:

第二种方法的公式改为:

=IF(MID(B2,11,2)=TEXT(MONTH(TODAY()),"00"),500,0)

如下图:

本文完


相关知识推荐:

Excel | 文本函数TEXT使用大全

Excel | CONCATENATE、CONCAT、TEXTJOIN文本连接函数集锦

Excel | NUMBERSTRING和TEXT函数:阿拉伯数字和中文数字转换

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多