【Excel】当日分のシフトを自動で抽出

通常、シフト表は横軸に日付、縦軸にスタッフ名を記載したマトリクスにすることが多いです。

1ヵ月の期間などでシフトを把握するのにマトリクスは有効ですが、今日出勤のスタッフを確認したい場合はマトリクスは不向きです。

今回は、Excel関数のみで今日出勤のスタッフを抽出できるようにしてみました。

このエクセルファイルの作り方

①TODAY関数で本日日付を取得

②以下の関数で、今日のシフト毎のスタッフを表示

IFERROR(TEXTJOIN(“、”,TRUE,FILTER($B$4:$B$15,INDIRECT(ADDRESS(4, MATCH($C$17,$3:$3)) & “:” & ADDRESS(15, MATCH($C$17,$3:$3)))=$B18)), “なし”)

以下、各関数の解説

1. MATCH(検査値, 検査範囲)で検査値を5/3、検査範囲を3行目とし、5/3のある列(5)を取得

2.ADDRESS(行番号, 列番号) で行番号には表の範囲である「4」と「15」を指定し、セルの座標「$E$4」「$E$15」をそれぞれ取得

3.INDIRECT(参照文字列) で、参照文字列にはADDRESSで取得した「$E$4」「$E$15」と「:」を連結した文字列「$E$4:$E$15」を指定

4.FILTERで「$E$4:$E$15」の中で「$B18(早番)」に該当する行と一致する「$B$4:$B$15」内の値「久保、前田、三宅」を取得

5.TEXTJOINで「久保」「前田」「三宅」を「、」で区切り連結

6.IFERRORで該当データがない場合(早番がいない場合)は「なし」と表示