- 締切済み
どの関数を使えば良いのか…
おはようございます。 シート1にその日の出勤簿があります。 (B1より横列が日にち、B1=1、C1=2、A2より下に氏名と当番が書いてあります。A2=田中、A3=当番、A4=佐藤、A5=当番、A6=鈴木、A7=当番…以下複数) B2=○、B3=トイレ、B4.B5=空白、B6=○、B7=風呂…以下複数 C2=…と言ったように1日1日その日の出勤の有無(○か空白)と当番(トイレ、風呂等)を入力してあります。 ここからが本題なのですが、シート2に当番表を作りたいのですが、どんな関数を使えば良いのでしょうか? 具体的には A1に日付 A2から下が当番名(A2=トイレ、A3=風呂…以下複数) B2に式を入れ、上記のシート1の場合だと田中が自動的に入力されると良いのですが… Lookupとかも考えたのですが… 何か関数でよい方法ありますでしょうか? よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- msMike
- ベストアンサー率20% (364/1804)
シート1、2 を夫々 Sheet1、Sheet2 とします。 1.次の[条件付き書式]を設定した Sheet2!B2 に設定 数式が =ISERROR(B2) フォント色 白 2.Sheet2!B2: に次式を入力して、此れを下方にズズーッとドラッグ&ペースト =INDEX(Sheet1!A:A,MATCH(A2,OFFSET(Sheet1!$A$1,1,MATCH(A$1,Sheet1!$1:$1,0)-1,100,),0)) なお、Sheet1 のセル B1 以右、および Sheet2 のセル A1 には年月日のシリアル値を入力し、ユーザー定義で d の書式に設定することを前提としています。 Sheet1 のA列の人数は最大50名としているけど、それを超える場合はステップ2に示す式中の 100 をそれなりに大きくしてください。
補足
基本的には、田中が出勤していない場合は、他の誰かがその当番についています。 (実際は田中、佐藤、鈴木以外にも複数名います) ただ、急病等で救急休みになった時は、当番なしになりますが… また、出勤=当番があるわけではありません。 (出勤したけど当番のない人もいます)