プロが教えるわが家の防犯対策術!

 関数を使った当番表があるのですが、改善しようと考えています。現状の当番表を作成したのは私ではなく、エクセルのレベルは決して高くありません。よい方法を教えていただければと思います。

現状・・・一つのシートに1ヶ月単位の当番表を作成しています。そのシートをもとに1日単位の当番表が出力できるように関数VLOOKUPを使用し、別のシートで1日単位の当番表を出力できるようになっています。当番の電話番号一覧のシートがあるのですが、現在1日単位の当番表に手書きで当番の番号を記入しています。
 ・使用している関数=VLOOKUP($Y$8,1ヶ月当番表!:$AM$32,23,FALSE)
 ※Y8に日にち(1.2.・・・31)を入力するとその日の当番が反映されるようになっています。

希望・・・1日単位の当番表に関数を使って個人の電話番号データが反映されるように改善したいと考えています。

 説明が不十分かと思いますが、よろしくお願いします。

A 回答 (1件)

質問者様のエクセルのレベルがわかりませんので、くどい説明に感じられましたらご容赦ください。



当番の電話番号を反映するのには、VLOOKUP関数を使うのが順当だと思います。
電話番号一覧の表から、当番を検索して、その電話番号を返す式にすればよいわけです。

VLOOKUP関数の書式は、「VLOOKUP(検索値,範囲,列番号,検索の型)」です。
エクセルのヘルプで「VLOOKUP」を検索すれば、関数の詳しい説明を見ることができますから、わかりにくい場合は一度ご覧になることをお勧めします。

現状では、以下のシートがあるのですよね。
(1)1ヶ月当番表
(2)1日単位当番表
(3)当番の電話番号一覧

VLOOKUP関数を使う場合、(2)に反映される「当番」の値と、(3)に含まれるの「当番」の値が一致していなければなりません。
(例えば、(2)は姓のみ、(3)は姓名ということですと処理が面倒です。)

------------------------------------------------------------------
(2)の表の電話番号を表示したいセルに、式を入力します。
式の内容は以下のとおり。

=VLOOKUP(検索値,範囲,列番号,検索の型)
検索値 :(2)に反映された「当番」の値(絶対参照)
範囲  :(3)のシート名!「当番」を左端の列に持つ表の範囲(絶対参照)
列番号 :「電話番号」の列番号(範囲の左端から数えて何番目か)
検索の型:FALSE

------------------------------------------------------------------
わかりにくいので、具体例を書いておきます。

条件は、
 -シート(2)のセルY9に当番が反映されている。
 -シート(3)のシート名は「当番の電話番号一覧」であり、セルA1:A10に当番、セルB1:B10に電話番号が入力されている。

数式は、
=VLOOKUP($Y$9,当番の電話番号一覧!$A$1:$B$10,2,FALSE)


最後にですが……。
エクセルに関するご質問ですから、カテゴリーを「ソフトウェア>Office系ソフト」にした方が早く回答がついたのではないかと思います。参考になれば幸いです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。おかげさまで当番表を改善することができました。お礼が遅くなってしまい、申し訳ありません。

お礼日時:2006/02/10 00:35

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