- ベストアンサー
VLOOKUP関数??
勤務予定表を作っています。 別のシートで月間勤務予定表は完成しています。 日付 16 17 18 19 20 21 22・・・ 名前 A 早 早 早 休 休 遅 早・・・ B 遅 遅 早 早 早 遅 休・・・ C 休 休 遅 遅 早 休 休 ・ ・ もうひとつ別のシートで、日付を指定すれば、その日付の列を検索して表示させたいのですが、どのような関数を使えばよろしいのでしょうか? 21 ←日付を指定 A 遅 B 遅 ←このように表示をさせたいです。 C 休 ・ ・ 質問がわかりづらくて申し訳ございませんが、よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
質問の例ですと、2行目が空いているように見えますが、「日付」と「名前」は一つのセルに入れて、斜め罫線で区切ったほうが見栄えがよいと思います。 (スペース2~3個の後に「日付」を入力、Alt+Enterで改行して「名前」を入力、「書式」-「セル」の罫線タブで「\」の形の罫線を選択) 別シートのA1セルに日付が指定されているとして、 =VLOOKUP(A2,Sheet1!$A$1:$AC$10,MATCH($A$1,Sheet1!$A$1:$AC$1,0)) または、それぞれのシートで名前のならびが一致しているなら、 INDEX関数とROW関数を使ってもできます。 =INDEX(Sheet1!$A$1:$AC$10,ROW(),MATCH($A$1,Sheet1!$A$1:$AC$1,0)) もし、2行目が空いているのなら、ROW関数の後に1を加えて =INDEX(Sheet1!$A$1:$AC$10,ROW()+1,MATCH($A$1,Sheet1!$A$1:$AC$1,0))
その他の回答 (4)
- subri
- ベストアンサー率28% (16/56)
VLOOKUPの横バージョンにHLOOKUPという関数があります。 VLOOKUPを使うことができれば、HLOOKUPも同じような物なのでおわかりかと思います。 もとの表が上から見出し、次の行からAさん、Bさんというレイアウトであれば Sheet2のA1に検索の日付、 B2に =HLOOKUP($A$1,Sheet1!$B$1:$H$4,ROW(),0) これを下までコピー。 ということでお望みの結果になります。
お礼
お礼が遅くなりまして申し訳ございません。 参考になりました。ありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
A列 1 21 2 A 遅 3 B 遅 4 C 休 データ領域を、A3:AF5 までとした場合、 A1: 21 A2: =INDEX(Sheet1!$A$3:$AF$5,ROW(A1),1) B2: =INDEX(Sheet1!$A$3:$AF$5,ROW(A1),MATCH(A$1,Sheet1!A$1:AF$1,1)) A2~B2 をマウス選択 フィルハンドル(+)をドラッグして、下にコピー
お礼
お礼が遅くなりまして申し訳ございません。 参考になりました。ありがとうございました。
- air_blue
- ベストアンサー率30% (3/10)
#2さんと同じ意見ですが、HLOOKUPがいいと思います。 ”sheet1”に月間勤務予定表(A、B、Cの3人、月31日と仮定。「A2」セルにAさんの名前、「A3」セルにBさんの名前、「A4」セルにCさんの名前。「B1」セルに1(日)、「C1」セルに2(日)・・・「AF1」セルに31(日)を入力) ”sheet2”に日付指定の勤務表を作る(「A2」セルにAさんの名前、「A3」セルにBさんの名前、「A4」セルにCさんの名前。「B1」は指定する勤務日を入力するセル)として、 「B2」セルは=HLOOKUP(B1,Sheet1!A1:AF4,2)、 「B3」セルは=HLOOKUP(B1,Sheet1!A1:AF4,3)、 「B4」セルは=HLOOKUP(B1,Sheet1!A1:AF4,4)、 と、こんなかんじでしょうか。 もっと良い方法があるかどうかわかりませんが、 ぱっと思いつくのはこれでした。
お礼
お礼が遅くなりまして申し訳ございません。 参考になりました。ありがとうございました。
- sirokiyat
- ベストアンサー率23% (204/867)
HLOOHUP関数を使えば、簡単じゃ無いでしょうか
お礼
お礼が遅くなりまして申し訳ございません。 参考になりました。ありがとうございました。
お礼
お礼が遅くなりまして申し訳ございません。 参考になりました。ありがとうございました。