- ベストアンサー
エクセルのVLOOKUPで異なるシートのデータを引っ張る方法は?
- エクセルのVLOOKUPを使用して異なるシートのデータを引っ張りたい場合、エラーが発生することがあります。
- エラーの原因は、参照するデータの形式が一致していないことが挙げられます。
- シート1とシート2の8桁の数値を数値形式に変更することで、エラーを解消することができます。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No.2・4です。 補足に >そして シート1の8ケタとシート2の8ケタを同じ セルの書式設定 形式設定で同じにしても反映しません >同じ8ケタの数字で、セルの書式設定 形式設定で数値にして・・・ とありますので セルの表示形式によりセル内の配置は微妙に変わってくると思います。 ただし、配置違いでデータが違う!と一概に言えません。 そこで、セルの表示形式は標準にしてみてください。 ただし、文字列として一度入力済みの数値はセルの表示形式を「標準」に変えただけでは数値として扱ってくれませんので ひと手間かけてみます。 どこか使っていないセルに数値の 1 を入力 → そのセル上で右クリック → コピー → 元データを範囲指定 → 右クリック → 形式を選択して貼り付け → 「乗算」を選択しOK これで元のセルの書式設定の表示形式が「標準」となり、実データ表示になります。 (表示されているセルだけでなく、数式バー内も確認します) おそらくVLOOKUP関数の検索値と範囲のデータの違いが判ると思います。m(_ _)m
その他の回答 (4)
- tom04
- ベストアンサー率49% (2537/5117)
No.2です! たびたびごめんなさい。 投稿後No.1さんの補足を拝見しました。 8桁数値は日付をセルの表示形式のユーザー定義で yyyymmdd のようにしているのでは? その場合8桁数値とシリアル値は当然一致しません。 今一度セルの表示形式を確認してみてください。m(_ _)m
- f-flight
- ベストアンサー率0% (0/1)
シート1のセルB2に以下の数式を入力し、以下オートフィルでコピーしてみてください。 =VLOOKUP($B2,Sheet2!$B$1:$C$7,2,FALSE)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! Sheet1のA2セルに =VLOOKUP(A2,Sheet2!A$1:B$7,2,0) という数式を入れA50までオートフィルで大丈夫だと思います。 ※ エラーになる原因として考えられるのは Sheet2のA列にないデータがSheet1のA列に入力されている! もしSheet2のA列にないデータがSheet1に入る可能性がある場合は IF関数の併用でエラー回避を行います。 =IF(COUNTIF(Sheet2!A$1:A$7,A2),VLOOKUP(A2,Sheet2!A$1:B$7,2,0),"街頭データなし!") といった感じで・・・ 他の原因ならごめんなさいね。m(_ _)m
- bin-chan
- ベストアンサー率33% (1403/4213)
VLookUpの参照先範囲は、同じシートでないとダメ。 回避するには、VLookUpの参照先範囲に名前をつけて参照するか、 INDIRECT関数を用いる必要がある。
補足
この 8ケタの数値が VLOOKUPを引っぱた時に 同じとエクセルが判断してないんだと思います 例として、 シート1の 20111001 と シート2の 20111001 を 再度 その上から 打ち変えると ちゃんと反映します
補足
すみません VLOOKUP の質問としてありますが 不明なのは、数値の違いで エラーになっていると自分では思っていますが その原因が不明なんです 普通 8ケタの数字を打つと 8ケタはセルの右寄せになりますよね (上の位置の右寄せとか中心のかは全く別) そして シート1の8ケタとシート2の8ケタを同じ セルの書式設定 形式設定で同じにしても反映しません 同じ8ケタの数字で、セルの書式設定 形式設定で数値にして、 A1に00000000 A2に00000000 の8ケタを並べた場合に 一番右の 0 の位置が微妙に位置が違います 少しずれています この違いはなんですか そんな違いで、反映しないと思っています ですが、同じにする手順がわかりません 教えてください