• ベストアンサー

エクセル得意な方、助けてくださいっ

エクセルで教えてください。。。 (1)sheet2のB列にお店の名前が100個くらいあります。 (2)sheet1のA列に店番号、B列にお店の名前があります。 (3)sheet2のA列に店番号をsheet1のデータから検索して自動入力したい。 こーゆー場合、関数で検索・入力できる方法わかる方教えてください。 VBAはわからないのでどーしても関数でやりたいです。 よろしくお願いします。

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

  • ベストアンサー
  • LN-TF
  • ベストアンサー率53% (320/596)
回答No.2

LOOKUP関数ではなく、VLOOKUP関数ですね。 Sheet1の並び順をA列:店名、B列:店番号とするか、C列に改めて店番号を入れる(複写する)かをして下さい。 次に店名でソート(整列)して下さい。 又、B列にある店名からA列に直截的に入れる事はこの関数では出来ませんから、一旦作業用の列に入れてやりそれをCOPYしてやります。 ここでは、Sheet1のA列とB列とにデータが入っており、2行目から101行目迄データが入っているとします。作業用例えばX列としましょうか。 X2には=VLOOKUP(B2,Sheet1!A2:B101,2,FALSE) A2には=X2 X2の説明をして置くと、後ろから順にFALSEは見つからないときは「N/A」と云うエラー値を返します、指定をせないと以下での近似値を返します。2は指定範囲の2列目のデータを持って来いと云う事。Sheet1!A2:B101は、Sheet1のA2からB101迄を示す(範囲と言います) あたまのB2はB2の値と範囲の先頭と一致するものを探すと云う事です。 まあ、VLOOKUP関数のウィザードで導かれればある程度は出来ると思いますが・・・。 参考となれば幸甚です。

m_chance
質問者

補足

ありがとうございます!スバラシイ・・ で、できました(T_T) ほんとに助かりました。 ついでにもうひとつ教えてもらっていいですか? 店名ではなく、店番号ソートしてできませんか?

その他の回答 (2)

  • LN-TF
  • ベストアンサー率53% (320/596)
回答No.3

ANo2です。ご質問がありましたので、再度。 このようのデータベース関数は、キーとなるもの整列させる必要があります。(今回は店名をキーにして捜しています) 従って店名ではなく店番号でソートをかけると多分店名は並びが昇順ではなくなると思います。するとVLOOKUP関数の使用条件の一つ「キーは昇順で重複のない事」に抵触します。 内部の操作は一般ユーザではわかる由もないのですが、このようの制約からは多分二分探索を行っているのではないかと推測します。この関数の制約や条件が一々首肯し得るのです。この場合キーが昇順でないと論理的に破綻を来します。破綻を来した場合の処理は色々あると思いますが結果として誤ったデータを返してくる事もあり得ます。

m_chance
質問者

お礼

なんだか難しいですがなんとなくわかりました。 とりあえず教えていただいた方法でやってみます。 拙い質問に丁寧にお答えいただきましてありがとうございました☆

  • molly1978
  • ベストアンサー率33% (393/1186)
回答No.1

LOOKUP関数を使ったらどうですか。 sheet1に100行のデータがあり、 Sheet2のB1に店名がるとすると、A1は、 =LOOKUP(B1,Sheet1!B1:B100,Sheet1!A1:A100)

m_chance
質問者

補足

ありがとうございます。 LOOKUPは試してみたのですが、うまくいきません。 sheet1とsheet2の総数があっていないからでしょうか。 sheet2のほうが数が多く、sheet1のデータからヒットするものを 探して入力させたいんですが・・ 関数は検索能力に適していないと何かで見ましたが 方法ありますか。

関連するQ&A