• ベストアンサー

エクセルで、番号を書いたら自動的に名前も出る方法

 エクセルで、ある社員寮の洗濯物の注文受付表をつくっています。  全部で60人もいるし、ときどき注文するものなので、全員の部屋番号と名前を書いているわけではありません。注文のある人だけ表に部屋番号と名前を書きます。  それを簡単にする方法を考えています。 1、あるセルに部屋番号(101など)を書いたら、右隣のセルに名前が自動的に書き込まれるといいのですが、そういうことはできますか? 2、または、一つのセルに部屋番号と名前を書いて、部屋番号を書いたら自動的に名前が出るようにしてもいいとおもうのですが、そういう方法ってありますか?  よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.8

No.2で回答したhiruminです。 説明不足で面倒に感じられたようですみません。 既に他の方が回答されていらっしゃる様に、式を一つ入れれば、あとはコピーで有効なので手間にはならないと思います。 洗濯物の注文数は日によって増減はあるのですよね。 No.2で書いた式 =VLOOKUP(【部屋番号のセル】,Sheet2!A:B,2,FALSE) この場合ですと、注文数が少ないとき、部屋番号が空欄ですとエラーになってしまいます。 ですので、以下のように式にちょっと手を加えておきます。 =IF(ISBLANK(【部屋番号のセル】),"",VLOOKUP(【部屋番号のセル】,Sheet2!A:B,2,FALSE)) 注文受付表の、予想されている最大数+α程度の行まで予めコピーしておきます。 これで、注文数に応じて式をコピー、エラーによる削除などする必要がなくなります。

taiyo7
質問者

お礼

 詳しいご回答ありがとうございます。  こちらが初心者なのでご迷惑をおかけしました。  感謝いたします。

その他の回答 (8)

回答No.9

ご存知ならごめんなさい。 絶対参照にする場合は「F4」キーを使うと良いです。

  • ao777
  • ベストアンサー率34% (43/123)
回答No.7

仮に下記のような表を作り    A    B   C   D 1 部屋番号 名前 2  101  佐藤 3  102  三宅 4  103  鈴木 C2に部屋番号を入れたときにD2に名前を表示させたい時は、 =IF(C2="","",VLOOKUP(C2,$A$1:$B$4,2,0)) をD2に入れてください。 今回は少なくしていますが、実際は60人分でしょうから、 $A$1:$B$4のとこは、$A$1:$B$61のようになると思います。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.6

>一回書いてあとフィルハンドルコピーでできるのでしょうか? そうです。式もコピーできます。 ただし、データ範囲が A1:B20 と入っている場合は、ずれてしまうので、絶対参照($A$1:$B$20)にして置けば、すれる事はありません。

  • 4994
  • ベストアンサー率19% (95/487)
回答No.5

1つ数式を入力したらコピーで出来ますよ。

taiyo7
質問者

お礼

 ありがとうございます。  簡単な方法を教えていただいて感謝いたします。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.4

>ただし、かえって手間がかかります。 その理由はなんでしょうか? 元データを作成せずに処理を行うことは不可能ですが?

  • ao777
  • ベストアンサー率34% (43/123)
回答No.3

かえって手間がかかります。 と、ありますが、どちらにせよ シート上か、VBAの中に部屋番号と、名前は先に60人分 書いておかないと駄目なのですが、それは理解できて いますか? #1さんと#2さんの回答が、一番処理も早く、手間もかからず、 初心者でも解り易い関数だと思うのですが・・・

taiyo7
質問者

お礼

 ご回答感謝申し上げます。  わたしの理解がよくないのでしょうか。  一つのセルごとにいちいち、=VLOOKUP(【部屋番号のセル】,Sheet2!A:B,2,FALSE) と書くのでしょうか?  もしそうだとしたら、書くのは手間がかかるかなと思ったのです。    一回書いてあとフィルハンドルコピーでできるのでしょうか?  初心者なので手間がかかってすみません。

  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.2

部屋番号と名前を書いただけのシートを用意して下さい。 例: Sheet2 A列 部屋番号 B列 名前 そして、注文受付表のシートで部屋番号の隣のセルに =VLOOKUP(【部屋番号のセル】,Sheet2!A:B,2,FALSE) と入れて下さい。 これで、部屋番号の隣に名前が表示されるはずです。

taiyo7
質問者

お礼

ご回答ありがとうございます。  できました。  ただし、かえって手間がかかります。  もっと簡単な方法を知りたいのですが。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

VLOOKUP関数が一般的です。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2198869

taiyo7
質問者

お礼

 ご回答ありがとうございます。  できました。  ただし、かえって手間がかかります。  もっと簡単な方法を知りたいのですが。