[[20081128104142]] 『VLOOKUPをさらにVLOOKUPで出力』(みぃ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VLOOKUPをさらにVLOOKUPで出力』(みぃ)

 いつもこちらでお世話になっております。
 お忙しいところ恐れ入りますが、もしよければ教えていただけますか?

 VLOOKUPを使ってSheet1のA1に入っている番号から、
 Sheet2のB列にある名前出すと短縮されているので、
 Sheet3にある名前一覧から、姓名の名前を検索して、
 Sheet1のB1に出したいのです。

 解りにくくてすみません。
 つまりは

 B1=VLOOKUP(A1,Sheet2!A2:B10,2,0)で出た結果を 
 B1に =VLOOKUP(Sheet2!B2,Sheet3!A1:B10,2,0)としたい。
 ということなのです。

 P001番は(ヤマダ)じゃなくて、山田 太郎と出したいって話です。
      ↑Sheet2から      ↑Sheet3から
       VLOOKUP          VLOOKUP

 全文検索でいろいろ調べてみたのですが、どうにもこうにも@@
 よろしくお願いいたします。

 エクセルのバージョンは2002です。

 入れ子するだけだと思いますが、Sheet2,Sheet3のレイアウトがあると分かりやすいです。
 (ROUGE)

  ROUGEさん、ありがとうございます。

  レイアウトは、

  Sheet1
  
  番号 名前
   A   B
  P001 山田 太郎 ←ここにSheet3の名前を入れたいのです。
  P002
  P003
   
  Sheet2
  
  番号 名前
   A   B
  P001 (ヤマダ)
  P002 (サトウ)
  P003 (スズキ)
   ↑ここはランダムに入っています。

  Sheet3
   略   名前
   A    B
  (ヤマダ) 山田 太郎
  (サトウ)  佐藤 一郎
  (スズキ)  鈴木 次郎

  となっています。
  
  実際は、Sheet2にSheet3の結果を出して、
  それをSheet1でさらにVLOOKUPするっていうのが普通だと思うのですが、
  Sheet2が更新されるので、その新しいデータをベタ貼りしたいため、
  なんとか1回で済ませられないかと・・・。

  よろしくお願いいたします。

 =VLOOKUP(VLOOKUP(A1,Sheet2!$A$1:$B$3,2,0),Sheet3!$A$1:$B$3,2,0)

 でいけると思いますが、Sheet3の名前に「山田 一郎」さんがいて、(ヤマダ)と省略されていた場合、
 正確な結果は返ってきません。

 (ROUGE)

 ROUGEさん、ありがとうございますぅ!!
 出ましたっ。

 入れ子にしてしまえばよかったんですね。
 &でくっつけてみたり、+でくっつけてみたり、
 IF使ってみたりいろいろ試してみたのですが、
 どれもうまくいかず・・・@@
 ありがとうございました。

 ところで、空欄の場合「#N/A」がでるのですが、
 この場合は、
 IF関数で、>0の時は""にすればよいのでしょうか?


 長くなりますが、手っ取り早くやるのであれば、

 =IF(ISERROR(VLOOKUP(VLOOKUP(A1,Sheet2!$A$1:$B$3,2,0),Sheet3!$A$1:$B$3,2,0)),"",
  VLOOKUP(VLOOKUP(A1,Sheet2!$A$1:$B$3,2,0),Sheet3!$A$1:$B$3,2,0))

 でしょうか。

 (ROUGE)

 ROUGEさん、たびたびありがとうございます。
 なるほど。
 IFの中に、ISERRORを使って、検索結果がなければ""、
 あれば、そのまま出力。という風にすればよいのですね。
 ISERRORは初めて見る関数なので、
 勉強になりました。

 お時間をとらせてしまい、申し訳ございませんでした。
 おかげでとても助かりました。
 ありがとうございます。

 (みぃ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.