アプリ版:「スタンプのみでお礼する」機能のリリースについて

約1000社の契約件数3000件の表中から80社200件の契約件数データを抽出したいのですが、良い方法が見つかりません。80社の顧客コードを元に抽出したいのですが、オートフィルターやVLOOKUP関数では時間がかかり過ぎます。
そこで、マクロと思うのですが、どのような構文にすれば良いのでしょうか?ご教授下さい。全ての契約件数は顧客コードで紐ついています。よろしくお願いいたします。

A 回答 (1件)

表の形や、内容が分からないこと。


抽出の条件がどのようなものかわからないこと。

以上から、回答が付かないものと思います。

私が、よく使う方法を一つ。

【前提条件】
(1) 表がA列~E列まで使っていると仮定します。
(2) 選びたい条件が ア、イ、ウ と3つあるとします。

【方法】
・ F列・・・チェック(ア)、G列・・・チェック(イ)、H列・・・チェック(ウ) とします。

・ 例えば、アの条件が、C列が100以上だと、

   F2に =IF(C2<100、0、1)
   の算式を入力します。
   Cが100以上なら1、未満なら0 という式です。

・ 同様に、G列、H列にも、条件を満たせば1、だめなら0 のIF関数式を入力します。

・ すべての条件にあうためには、
  I列に =F2*G2*H2
   これで、答えが1なら条件を満たし、0なら条件を満たしません。

・ 一つでもあえばいいなら、
  I列に =F2+G2+H2
   これで、答えが1以上なら、いずれかの条件を満たしています。

あとは、F2からI2を表の一番下までドラッグコピーすればOKです。

   
    • good
    • 0
この回答へのお礼

tamiemon96 様、早速にご回答をいただき深謝申し上げます。

これまでこんなに大量のデータ処理を経験していなかったことから困っていました。80社のデータ抽出ですから検索条件は80個あった訳ですが、ご教授いただいたように表の最終列に一列ごとに80社の顧客コードを「行と列の入れ替え」貼付けで意外と簡単に条件設定ができました。

そして、簡単なIF式で80列にコピーし、オートフィルで縦方向の3000行に貼付けて、「1」or「0」の判定から横方向の合計を求め、個別の契約が対象となるかならないかを求めることができました。
あとはLOOPするマクロで対象外の行を削除して、求める契約件数が抽出できました。

エクセルにはある程度の自信があったのですが、今回はどうしていいか分からずお手上げ状態でしたので、早いご教授もあってたいへん助かりました。

今後とも、よろしくお願いいたします。

お礼日時:2013/12/04 22:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!