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

 いつもお世話になります。
ExcelでたとえばA列に名前、B列に住所、C列に電話番号というふうにデータを入力します。
 名前から住所、電話番号というふうに複数のセルを返すにはどうすればよいでしょうか?
 Vlookupの検索型で複数のセルの値を返したいのです。
 わかりづらい説明になって申し訳ありません。
どうか、御教授よろしくお願いします。

A 回答 (3件)

何がしたいのかわかりかねますが、


(1) 名前を指定すると、住所、電話番号を得る。
(2) 名前が重複しており、そのすべての住所、電話番号を得る。
のどちらかだと(勝手に)思います。結果としてどういうものが欲しいのか、具体例を挙げて書いて頂くとありがたいのですが。

ともかく、(1)の場合、
住所は
=Vlookup(名前,A2:C200,2,0)
電話番号は
=Vlookup(名前,A2:C200,3,0)

で得られますよね?
データがA2:C200にあるとしています。名前の部分は、名前を入力するセル番地を指定してください。

(2)の場合、
2つ目の住所は、
=VLOOKUP(名前,INDIRECT("$A"&TEXT(MATCH(A9,$A$2:$A$200,0)+2,"###")&":$C$200"),2,0)
で、得られます。

じゃあ、登録住所が同じ名前で3つ以上あった場合は?・・・宿題とさせてもらいます。

そもそも、こんなことで良いのかどうかもわかりませんので、補足をいただければ幸いです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にさせていただきます。

お礼日時:2004/12/19 09:55

質問の書き方が、直截的でないと思う。


「氏名を指定して、該当者の住所、電話番号を表示したい」となるのではないですか。「検索」の質問でしょう。
普通エクセルでは、名前、住所、電話番号を記録する列を分けます。セルが別であるということです。
この場合指定氏名の行が関数で見つかったとしても、取り出すのは、1つの列(1つのセル)の「値」しか取り出せません。
(エクセル関数の大原則)
(1)関数で返してくれるのは「1つ」の値
(2)返してくれるのは「値」に限る(色や書体などは返せない)(注)「返す」とはセルに関数を書くと値を得られると言うこと。(上級になれば極く一部例外があることを学びますが省略)
ですから質問に普通では不可能ですになります。しかし
(A)元の住所・電話番号を1つのセルに詰め込む
(B)VLOOKUP関数の第3引き数を2の関数と3の関数を
&で結合するとそうできます。
(C)または別2列(質問の>複数のセル)に、VLOOKUP関数の第3引き数を2の関数と3の関数をそれぞれ入れれば、それでニーズは満たされるでしょう。
あとVLOOKUPで注意点は、表の番地指定を$で絶対化する、
(本件ではどっちでも良さそう)、第4引数はFalse、氏名は最左列にあること、などです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にさせていただきます。

お礼日時:2004/12/19 09:55

複数のセルを一つのセルに返すわけではないですよね。

Vlookup関数では何列目の値を返すかの引数がありますから、その値を変えれば住所でも電話番号でも取得できます。

仮にD1に名前を入れるとして、E1に住所、F1に電話番号を表示させるとします。

E1 = VLOOKUP(D1,$A$2:$C$100, 2)
F1 = VLOOKUP(D1,$A$2:$C$100, 3)

もし一つの列(E1)に両方表示させたいならば以下のように&でつなげればよいと思います。
E1 = VLOOKUP(D1,$A$2:$C$100, 2) & " " & VLOOKUP(D1,$A$2:$C$100, 3)
    • good
    • 0
この回答へのお礼

 回答ありがとうございます。
参考にさせていただきます。

お礼日時:2004/12/19 09:55

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