- ベストアンサー
エクセル複数検索でデータが多くて動かない時の対処法
- エクセル初心者が関数vlook、INDEX、(IF、AND)DJETなどを使用して複数のデータを検索しようとしたが、データが膨大で動作しなかった。データ量は2メガバイト以上あり、3000行以上の文字データが含まれている。また、シート1では種類、メーカー、年数、会員、状態ごとに金額があり、シート2では種類、メーカー、年数、会員、状態を入力すると単価表から金額と行番号を取得したいがうまくいかない。過去の履歴データではアクセスが簡単と書かれているが、アクセスの方法がわからないため、エクセルでの解決方法を教えて欲しい。
- エクセルで複数のデータを検索するために関数vlook、INDEX、(IF、AND)DJETを使用したが、データ量が大きすぎて処理ができない問題に直面している。2メガバイト以上の文字データが含まれ、単価表には種類、メーカー、年数、会員、状態ごとの金額が記載されている。シート2には同じ種類、メーカー、年数、会員、状態を入力し、単価表から金額と行番号を取得したいがうまくいかない。過去の履歴データではアクセスが簡単と記載されているが、アクセスの方法が分からないため、エクセルでの解決策を教えてほしい。
- エクセル初心者が関数vlook、INDEX、(IF、AND)DJETなどを使用して複数のデータを検索しようとしたが、データ量が大きすぎて処理できない。文字データは2メガバイト以上あり、シート1には種類、メーカー、年数、会員、状態ごとに金額が書かれている。シート2には同じ種類、メーカー、年数、会員、状態を入力し、単価表から金額と行番号を取得したいがうまくいかない。過去の履歴データではアクセスの方法が簡単と書かれているが、私にはわかりません。エクセルでの解決策を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 つまり、3000レコード内に 種類、メーカー、年数、会員、状態 の全項目が同じ物はないって事? シート1、シート2の先頭列に1列追加して =種類セル&メーカーセル&年数セル&会員セル&状態セル これで、種類、メーカー、年数、会員、状態を繋げたユニークなデータを作ります。 シート2の金額セル =VLOOKUP(シート2のA2,シート1の絶対範囲,シート1の金額列番号,FALSE) シート2の行ナンバーセル =MATCH(シート2のA2,シート1の絶対範囲,FALSE)+1
その他の回答 (2)
- papayuka
- ベストアンサー率45% (1388/3066)
こんにちは。 > 思いどうりにできたのですが3度目の再計算でフリーズ > してしまいました。 > もう少し軽くできる方法はないのでしょうか? どんな使い方をしているか不明なので解りづらいのです。 1.シート2の600行には、少しずつデータを追加しているが、一度追加したデータに変更は無い。 既に変更の可能性がない所は範囲を丸ごとコピーし、形式選択の値貼り付けで同じ所に貼り付ければ良いと思います。(検索用関数がある列、VLOOKを入れた列、MATCHを入れた列など) 2.シート2の600行のデータがたえず変更・追加される。 関数でなくVBAあたりで直接値を書き込む処理をするなど。 ※データ量的にそんなたいした量ではないのにそんなに重いのはシート1でも大量の関数を使っているのでしょうか?
- papayuka
- ベストアンサー率45% (1388/3066)
こんにちは。 シート1の3000レコード内に、 種類、メーカー、年数、会員、状態 の各項目で絞って行くと条件にあうのが600レコード程あるハズだって意味? だとしたら、オートフィルタで各項目を絞って行くんじゃダメなのでしょうか?
補足
お答えを頂き有難うございます。 書き方が変でしたね。すいません 種類、メーカー、年数、会員、状態が 下に600あるということなんですが?? 説明が難しいです。 オートフィルタをかけると600回かける感じです。 すいません説明が下手で・・・ わかっていただけましたでしょうか?
お礼
回答有難うございました お礼がおくれてすいません。 (つまり、3000レコード内に 種類、メーカー、年数、会員、状態 の全項目が同じ物はないって事? ) ずばりそのとうりです。 VLOOKUP、MATCHで なんとかできそうです。 ありがとうございました。 これなら軽くなりそうです いま関数データ-を入れて15.02MBあり たびたび止まってました。 これ以上軽くする方法はないですよね?
補足
papayuka様 教えていただいた関数 &を使ってVLOOKUP、MATCHで 思いどうりにできたのですが3度目の再計算でフリーズ してしまいました。 もう少し軽くできる方法はないのでしょうか? すいませんが教えてください。