[[20130608101114]] 『VLOOKUPで行の情報を全て参照したい』(MONY)  ページの最後に飛ぶ

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

 

『VLOOKUPで行の情報を全て参照したい』(MONY)

以前はお世話になり、ありがとうございました。
VLOOKUPをご教授頂きましたが、それでできるのか別の関数になるのか、以下の場合を教えて下さい。

A      B   C   D   E   F
住所コード 住所名 総数 世帯数 地名 件数

このようなデータが入ってるシートが2つあります。

シート1にはAからDの情報が入っています。

シート2にはEとFしか入っていません。

Eの情報はBの住所のうち区市郡を除いた地名しか記載がありません。

シート2にシート1の情報を行ごと参照したいのですが、どうしたら良いでしょう。

昨日自力で試してみたのは、シート1の住所名を全てシート2の地名と同じ表示に直してA列のみVLOOKUPで参照してみたのですが、このように1つずつではない方法があれば教えて下さい。

宜しくお願い致します。

(MONY)


 基本的に VLOOKUP を使用するためにはキーになる一意なデータがリストの先頭列にあるのが
 望ましい形です。
 住所コードがそれに相当すると思いますが、地名は複数同じものがあるかどうかわかりま
 せんが、件数はキーにはなりそうもないですね。

 シート1、2の地名にそれぞれ重複がなければ、検索できると思いますが、どうなのでしょうか。
 (Mook)

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

シート1、2の地名にそれぞれ重複はないです。
件数表示があるシート2はデータを表示させるシートなので、件数は考えなくて良いと思っています。

シート2の地名と、シート1の住所名しか参照できる物がないので、残りのデータはシートを見比べながら手入力するしかないのでしょうか?

(MONY)


 地名に重複がなければ、シート1の地名を先頭列に移動(or挿入コピー)して、
 VLOOKUP で普通に参照できると思いますが。

 全部作業が終わったら、シート2の式をコピーして、値として上書き保存すれば
 シート1は元の状態に戻してかまいません。

 VLOOKUP の制約は、キーが先頭列にあることです。
 (Mook)

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

シート1には地名の表示がないので、とりあえずシート1は住所名を、シート2は地名を先頭列に移動して以下のようにしました。

=VLOOKUP(A2,'Sheet1'!A2:D860,2)

そうしたら、所々返ってきた答えは全て同じで、エラーは全て#N/Aとなってしまいました・・・

(MONY)


 まずは VLOOKUP の使い方をきちんと理解してください。
http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/vlookup2.htm
http://www.yoshikawa.co.jp/ybs/skilup/ybs0308.htm
http://allabout.co.jp/gm/gc/297725/

 完全一致で検索したい場合(特に文字列の場合)は、そういった引き方はできません。
 とりあえずの方法は不可なので、シート1の先頭列に地名を作成して参照範囲を A:E列
 とすれば、シート2で
 A1=IFERROR(VLOOKUP($E1,Sheet1!$A$2:$E$860,COLUMN(B1),FALSE),"")
 をA:D にコピーして、該当する地名のデータが引けると思います(IFERRORは2007以降)。
 それから、シート2は地名は先頭列の必要はありません。

 VLOOKUP 以外でシート2の地名(E列)をシート1の住所(B列)に含むものを
 引くといった処理は、他の関数エキスパートの方の回答をお待ちください。
 (Mook)

 地名、住所名の実データのサンプルでもあれば取り組みやすいのですが、
以下、推測交じりで、
「地名」はいわゆる「都道府県名」と仮定します。
「住所名」は「都道府県名&市区町村名」であると仮定します。
 
VLOOKUP関数では「検索文字列を含む」という検索は出来ません。
探すデータの質を同じにする必要があります。
シート1側でA列を挿入、A2に
=LEFT(B2,2)
という関数を入力して、「都道府県名&市区町村名」の先頭二文字を抜き出します。
シート2側のA2に次の式。
=VLOOKUP(LEFT($E2,2),Sheet1!$A$2:$E$860,COLUMN(B2),FALSE)
 
これを抽出範囲にコピー貼り付け。
(みやほりん) 

Mookさん
ありがとうございました。

参考になるURLをありがとうございました。
VLOOKUPをよく勉強します。すみません。

>完全一致で検索したい場合(特に文字列の場合)は、そういった引き方はできません。

ということは、多分私がしたいことはVLOOKUPではできないのだと分かりました。

> とりあえずの方法は不可なので、シート1の先〜〜
こちらもやってみましたが、できませんでした。IFERRORはありますが、使ったことがありませんので、徐々に勉強していきます。

教えて下さり、ありがとうございました。

(MONY)


みやほりん様

いつもお世話になっております。
回答を、ありがとうございます。

>VLOOKUP関数では「検索文字列を含む」という検索は出来ません。
とのことなので、やはりVLOOKUPではできないのですね。

推測してくださったのですが、「住所名」には○○県○○市○○区××というデータが入っており、「地名」には××というデータが入っています。

>シート1側でA列を挿入、A2に
=LEFT(B2,2)
こちらをやってみたのですが、結果は住所コードの頭2文字が表示されてしまいました。

>シート2側のA2に次の式。
こちらもやりましたが、#N/Aのエラーでした。

宜しくお願い致します。

(MONY)


基本に戻りVLOOKUPの例題と同じ表を作って、同じように操作をしました。
自分のシートに戻って、シート1に住所名を加工した「地名」列を作り、何度かやり直したところ、住所コードを参照することができました。

その後は同じように1列ずつVLOOKUPで参照したらできました!

難しく考えすぎていたようです。

Mook様、みやほりん様、お手数をお掛けしました。
大変勉強になりました、ありがとうございます。

(MONY)


コメント返信:

[ 一覧(最新更新順) ]


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