根據條件和日期列表,在日曆輸出對應內容 (1)︰可用於製作出勤表

根據條件和日期列表,在日曆輸出對應內容 (1)︰可用於製作出勤表

Dec 24, 2023

image

難度︰★☆☆☆☆
實用度︰★★★★☆
上手度︰★★★☆☆

應用內容︰
If, Sumproduct

🌸完成範例(Extras下載)🌸


🔶情境

根據名字和列出的日期,輸出出勤表對應日期內容︰

image

比如在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以下的儲存格輸入需要出勤的日期。

image

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

image

在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)︰可用於製作出勤表

Ti piace questo post?

Offri un caffè a 從社畜變成Excel畜

Altro da 從社畜變成Excel畜