- ベストアンサー
Excel勤務表作成方法-複数シート検索
- 100種類以上の勤務形態を番号付けしているExcelの勤務表作成方法についてご相談です。
- 平日・土曜・日祝の3種類の勤務形態シートから指定のセルへ勤務時間を参照する関数がわからないという問題があります。
- 具体的な表のデータを提示し、Excelでの勤務表表示方法を教えていただけると幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
わざわざシートを分けるのを止めてしまうのが、一番簡単な方法です。 添付図: シート「一覧」に形態ごとのデータを平日、土曜、日祝と並べます 勤務表シートの、とりあえず理解しやすいようにB列に B2: =IF(A2="","",IF(OR(WEEKDAY(A2)=1,COUNTIF(祝日一覧,A2)),4,IF(WEEKDAY(A2)=7,3,2))) のように用意します C列に形態を記入、そのD列は D2: =IF(C2="","",VLOOKUP(C2,一覧!A:D,B2,FALSE)) のように、タイプごとに一覧のどの列を取ってくれば良いのかだけで入れ替えます。 計算式のシクミが理解できたら、実際にはB列の数式をD列の数式の中に直接組み込むことで、B列を用意する必要はありません。 #実際にはご相談は「たとえば」で各曜日シートにもっといろいろ参照したいデータがあるんですというお話なんでしょうが、それも例えばBCD列を各曜日「開始時刻」、EFG列は各曜日の「終了時刻」という具合にタイプごとに何列目を決めておけば、同じ数式の工夫で十分出来ます。 #参考 ご質問の直接の回答として。 もしどーしても曜日ごとのシートをなんとしても絶対準備したくてたまらないなら、 =VLOOKUP(形態,IF(タイプ=日祝,日祝!A:B,IF(タイプ=土曜,土曜!A:B,平日!A:B)),2,FALSE) という数式にしても構いません。
その他の回答 (1)
- neKo_deux
- ベストアンサー率44% (5541/12319)
平日、土曜、日祝日で勤務番号というのが2222とか3333とか共通していますが、これは同じ数字と考えてよいのでしょうか? であれば、勤務形態シートというのを1枚にしてしまうのが真っ当だと思います。 勤務形態シート A B C D 1 勤務番号 平日 土曜日 日祝 2 1111 10:00 10:30 10:45 3 2222 11:00 11:30 11:45 4 3333 12:00 12:30 12:45 5 4444 13:00 13:30 13:45 勤務表シート A B C D 1 日付 種別 勤務番号 時刻 2 1日(月) 1 1111 10:00 3 2日(火) 1 2222 11:00 4 3日(水)祝 3 1111 10:45 5 4日(木) 1 4444 13:00 6 5日(金) 1 2222 11:00 7 6日(土) 2 2222 11:45 =VLOOKUP(勤務番号, 範囲, 列位置, FALSE) になるように、 D2:=VLOOKUP($C2, 勤務形態シート!$A$2:$D$5, $B2, FALSE) とか。
お礼
ありがとうございます!
お礼
ありがとうございました!できました! 一つのシートにまとめると大量のデータ量になってしまい 変更があった際にすぐ修正ができるようにシートを分けておりました。