• ベストアンサー

エクセルの別シートで検出したデータの隣の数値を読み込みたい

初心者なため意図が上手く伝わらない文章で申し訳ございません。 エクセルでシート1に    A   B   C   1  銀行 100  振込み 2  本屋  50  振込み 3  図書館 100 自動 と入力したとします。 別シートにて 「銀行」と手入力したら、その右隣には「100」「振込み」と自動的に抽出して記入されるようにしたいのです。 「本屋」としたら、その隣には「50」 「振込み」となるように・・・。 (※セルは分かれている形です) データの数は2000個ほどあるので、検索してコピー&ペーストというのも非常に非効率かと思い相談させていただきました。 マクロなどは全くわからない人間ですので、数式などでわかるものがあれば幸いです。 どうかお知恵をお貸しください。 よろしくお願いいたします。 

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

NO1様の様にVLOOKUP関数を使用される方が良いと思います。 但し、注意点の検索範囲を「範囲名」を使用しなければならない事はありません。 一例です。 別シートのA1に名称を入力するとします。 B1に=IF(COUNTIF(Sheet1!$A:$A,$A1),VLOOKUP($A1,Sheet1!$A:$C,COLUMN(B1),FALSE),"")として、縦横に必要分コピーして下さい。

maxsnow
質問者

お礼

ありがとうございます。 なんとかいただいた数式を基に加工してできました!!

その他の回答 (2)

回答No.2

「データ」ー「フィルタ」ー「フィルタオプション」を使えば、条件に合った行だけを指定の場所に抽出することができます。

maxsnow
質問者

お礼

ご回答ありがとうございます! 基のデータではなく、別シートを基準に考えていたものですから・・・。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

VLOOKUP関数を使ってみてはいかがでしょう ちょっと専門的な関数ですが、これを覚えると Excelの使い勝手が飛躍的に向上しますよ  =VLOOKUP(検索値,範囲,列位置,検索の型) と記述します 例:  =VLOOKUP(A1,B1:D10,3,FALSE) これで、A1と同じ値を B列(範囲中の一番左の列)から探して、 対応する D列(3列目)の値を返してくれます 注意しなければいけないのは、 別のシートを検索する場合、検索範囲を範囲名で指定するなど工夫する必要があります 例:  B1:D10の範囲に "範囲1" と名前を付けたとする  =VLOOKUP(A1,範囲1,3,FALSE) 範囲1には "Sheet2!$B$1:$D$10" などと定義されます 名前を付けた範囲は 【挿入】 → 【名前】 で定義の編集ができるので覚えておきましょう

maxsnow
質問者

お礼

ありがとうございます!早速試してみます!!

関連するQ&A