這是EXCEL表格里面的一個函式公式,
{=SUM(IF(ISERR(-$H4:$AK4),,IF(--TEXT($H4:$AK4,"0;;0;\0")<8,$H4:$AK4/8,1)))}
解釋一下, 這是一個計算考勤的EXCEL表格, 在H4:AK4這個區域,保存了31天的考勤記錄,記錄的格式是,當天的上班時長,單位是小時,并且都取整了, 比如上8小時,就填入數字8, 4小時就填入4,如果事假病假或者休息日,就用不同符號代替(比如方框,三角號,或者字母等等)。
那么這個使用函式的單元格,回傳的值,是當前行的這個員工,對應一個月上班的天數。
天數的規則是, 如果當天上班時長大于等于8小時,算1天, 小于8小時,不算一天, 是用實際上班時間除以8得到上班天數,比如4小時,算0.5天, 3小時,算0.375天,8小時算1天, 10小時算1天等等。
我現在能理解里層IF函式的意思,但是外層的IF函式條件ISERR(), 不是很明白, 特別ISERR的唯一引數,里面包含的“-”這個符號的意義不明確, 請高手指導. 就是-$H4:$AK4,減號是什么意思?
uj5u.com熱心網友回復:
$AK4 是指對AK4單元格進行絕對參考,你把公司往其它單元格復制的時候,公式計算中使用的依然是AK4單元格的數值。-$H4不太清楚,等待其他人繼續解答;
uj5u.com熱心網友回復:
IS[b]ERR的回傳值是一個布林值,作為IF的判斷條件,ISERR是檢查一個值是否為#N/A以外的錯誤,比如你所說的方框等符號,直接寫=ISERR(符號單元格),回傳值為FALSE,如果加一個“-”,回傳值就為TRUE,在本例中,如果那一行中有符號,ISERR回傳值就為TRUE,IF函式條件成立回傳第一個值,即為空;那一行沒有符號,ISERR回傳值就為FALSE,IF函式條件不成立回傳第二個值,再進行計算。因此,有符號的話,還得人工去計算吧轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/131490.html
