
難度︰★☆☆☆☆
實用度︰★★★★☆
上手度︰★★★☆☆
應用內容︰
If, Sumproduct
🔶情境
根據名字和列出的日期,輸出出勤表對應日期內容︰

比如在A1輸入「鈴木次郎」,在A2以後輸出一連串日期(不用按排序),便會根據C欄的名字,以及D欄至N欄的日期,輸出「Y」(代表要上班),不符合條件為「N」。
※圖的黃色標示為方便辨認使用,本篇不作介紹,詳細可了解「格式化的條件」。
🔶懶人包
A1為員工姓名
A2以後是輸入日期
C欄是員工姓名
D欄往右是日期
在D2輸入公式,往下及右拉;或選擇範圍,輸入公式後按Ctrl+Enter︰
=IF(SUMPRODUCT(($A$1=$C2)*(D$1=$A:$A)),"Y","N")
🔶教學
A1輸入員工姓名,並在A2以下的儲存格輸入需要出勤的日期。

設定好需要輸出顯示的出勤表,即姓名和日期︰

在D2位置輸入公式︰
=IF(SUMPRODUCT(($A$1=$C2)*(D$1=$A:$A)),"Y","N")
🏴…SUMPRODUCT(($A$1=$C2)*(D$1=$A:$A))…
由於這個題目只需要判定有/無,所以可以考慮用Sumproduct來處理。
這部分需要找兩個條件,
1) C欄名字對應A1
2) D欄1列及往右的日期對應在A欄的日期
使用Sumproduct,把符合這2個條件的內容相乘,便會得出1。
比如說,鈴木次郎的4/1是需要出勤,所以會是(鈴木次郎=鈴木次郎=TRUE=1)*(4/1=A欄裡有4月1日=TRUE=1)=1,如果4/2便會是(鈴木次郎=鈴木次郎=TRUE=1)*(4/2=A欄裡沒有4月2日=FALSE=0)=0 (1乘0=0),如此類堆。
之後,
🏴=IF(……,"Y","N")
由於1和0是對應True值和False值,所以用If條件判斷,便可以輸出對應的結果。
即是符合兩個條件的儲存格輸出「Y」,否則輸出「N」。
🔶延伸
🌟根據條件和日期列表,在日曆輸出對應內容 (2)︰可用於製作出勤表
🌟根據條件和日期列表,在日曆輸出對應內容 (3)︰可用於製作出勤表
