問題
某公司規定:如果員工當月過生日,補貼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)如下圖:
![]()
本文完
相關知識推薦:
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.