- 締切済み
SUMIFに変わる(代用)数式を教えてください
お世話になります。 日々の実績管理表の改良しようと思い苦慮しております。 SUMIFに変わる、負荷の軽い関数を教えて頂けましたら 助かります。 実績シートに毎日、約20000件データをダウンロードし 当日実績 先付実績 未処理 当日の受注 の状況を管理しています。 品番毎シートを作成し、下記の数式を利用しています。 =SUMIF(sap実績!$A$2:$A$50000,"*"&$B7&$A$3&BB$5,sap実績!$F$2:$F$50000)+SUMIF(sap実績!$A$2:$A$50000,"*"&$B7&$B$3&BB$5,sap実績!$F$2:$F$50000) ⇒登録日&法人コード&品番&該当月 *色が違うと品番が変わるので、+(プラス)でつなげています。 最大で4回つなげています。 SUMIFを利用しているためか、開くにも時間がかかるようになっているため、 来年1月からのフォームについて、改良できればと思います。 品番はどんどん増えているので、大変困っています。 どなたか、ご教示お願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
出来るだけSUMIF関数を使うことなく作業列を屈指して結果を出すことでしょう。特にお示しの式ではA2セルからA50000セルにわたってB7&A3&BB5の値が含まれているかどうかを調べ含まれていればF列の数値を足していくという操作を行うことになりますので大変な時間がかかります。 それに対して作業列を使って例えばsap実績シートのH2セルに例えば結果をシート1に表示させるとしてB7、A3,BB5セルの値を含むデータのsap実績シートのF列での合計を求めるとしたら次のような式を入力して下方にドラッグコピーします。 =IF(COUNTIF(A2,Sheet1!B$7&A$3&BB$5),SUM(H$1:H1)+F2,"") 色が変わると品番が違うのでとの意味をよく理解していませんが、それらを考慮して式を入力します。 その上でシート1での条件に合う合計値は単に =MAX(sap実績シート!H:H) 上のようにすることでかなり速度が改善されると思いますね。
- koko88okok
- ベストアンサー率58% (3839/6543)
数式の問題と言うより繰り返し上書き保存に原因があるのでは? 「excelのファイルサイズの肥大化の原因について」 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1118284636 「巨大化したEXCELファイルと苦闘(その2)」 http://yaplog.jp/kameichi/archive/416 「Excel ファイル 肥大化」の検索結果 http://www.google.co.jp/#hl=ja&gs_nf=3&gs_rn=0&gs_ri=hp&pq=excel%E3%80%80%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E8%82%A5%E5%A4%A7%E5%8C%96&cp=11&gs_id=3tt&xhr=t&q=excel+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+%E8%82%A5%E5%A4%A7%E5%8C%96&pf=p&tbo=d&sclient=psy-ab&oq=Excel%E3%80%80%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%80%E8%82%A5%E5%A4%A7%E5%8C%96&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=7a69e9f52b49692f&bpcl=39468505&biw=1061&bih=586&bs=1
お礼
お忙しいところ、大変、丁寧なご回答(情報)ありがとうございます。 数式が重いので、どんどん計算が遅くなっているとしか 思ってなく、代わりの数式を見つけることができれば 解決できるのでは?としか、思いついていませんでした。 肥大化するには、他にも原因があるんですね。 教えて頂いたURLの中の情報を熟知しまして、スムーズな 表作成に役立てたいと思っております。 ありがとうございました。m(_ _)m
お礼
お世話になります。 ご回答ありがとうございます。 不明点を質問させてください。 今作業列を作成して、データをためている実績シートに =IF(COUNTIF(A2,Sheet1!B$7&A$3&BB$5),SUM(H$1:H1)+F2,"") をいまあるデータを考慮しながら、作業列を追加して式を式を入力して下方にドラッグコピー 今、表を作成しているシート1の該当セルへ =MAX(sap実績シート!H:H) を利用するということで間違いないでしょうか? 試してみたのですが、上手くいかなくて。 お手数をおかけしますが、何卒よろしくお願いいたします。