dポイントプレゼントキャンペーン実施中!

(カレンダーともう一つ別ファイルを用意する予定ですが説明が大変になりそうなので一つのファイルで編集するものとして説明していただいてもかまいません)

A列にカレンダーを一年分ずらっと入力します
D列には日付をとびとびで入力していきます

B列にその日の責任者の名前を入力していくとE列にB列に入力したその日の責任者が自動で入力されるようにするにはどうすればよいでしょうか

「excelでカレンダーに対応した責任者の」の質問画像

A 回答 (2件)

VLOOKUP関数やMATCH関数とINDEX関数の組み合わせで行えます。



VLOOKUP関数は、
=VLOOKUP(検索値,範囲,列位置,検索の型) (…検索の型は省略可能)
のようにして使います。
範囲の中で一番左の列に検索値と一致する行を見つけ、その列から右へ何列目の値を結果として返すという関数です。

質問の例ではE1セルには
=VLOOKUP(D1,A1:B11,2)
と入力することになります。
さらにそれを縦方向(行方向)へコピーして使うことを考慮して
=VLOOKUP(D1,A$1:B$11,2)
のように参照する範囲の行番号の前に「$」を付けます。

MATCH関数とINDEX関数はそれぞれ、
=MATCH(検索値,範囲 ,照合の型) (照合の型は省略可能)
=INDEX(範囲,行番号,列番号)
のようにして使います。
MATCH関数で指定した範囲の中で検索値に一致する値を探し何番目が一致したかを得て、
INDEX関数で指定した範囲の中から何番目を結果として返すかを行います。

質問の例では、
INDEX関数の行番号にMATCH関数を使って値を返して使用します。
E1セルに、
=INDEX(B1:B11、MATCH(D1,A1:A11),1)
と入力することになります。
上記のVLOOKUP関数同様に、縦方向(行方向)へコピーすることを考慮して、
=INDEX(B$1:B$11、MATCH(D1,A$1:A$11),1)
のように参照する範囲の行番号の前に「$」を付けます。
    • good
    • 1
この回答へのお礼

ありがとうございます!
別ファイルに対してでも無事出来ましたヽ(=´▽`=)ノ

お礼日時:2016/02/17 23:20

こんにちは!



VLOOKUP関数で対応できます。
若干のエラー処理を加えるとE1セルに
=IF(D1="","",VLOOKUP(D1,A:B,2,0))
という数式を入れフィルハンドルで下へコピーしてみてください。m(_ _)m
    • good
    • 1
この回答へのお礼

ありがとうございます!
まさかほぼ同時に2つも的確な回答がいただけるとは思いませんでしたヽ(=´▽`=)ノ

お礼日時:2016/02/17 23:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!