ExcelのSUMIFとそれに付随する算出方法を教えてください。

画像

Excel84閲覧

ベストアンサー

1

1人がナイス!しています

ThanksImg質問者からのお礼コメント

試してみたところ動作が軽く済みそうでしたので こちらの関数をお借りします。ありがとうございました。

お礼日時:9/25 12:46

その他の回答(3件)

0

まず Excelのバージョンを明らかにすべきです。分からなければ調べま しょう。数式の質問をする際には最低でも書かないと回答が無駄になる 可能性があります。 次に回答への返信を見ていると VBAに組み込むつもりのようですけど それならそうと最初に書くべきです。というのも それなら数式でやる 必要がないからです。 *** > フィルタオプションを使う方法はこのデータでは使えず困っています。 「そんな馬鹿な」です。使えないわけがありません。 逆をいうなら AdvancedFilterが使えないなら他のどの数式でもそのま までは計算できないことになります。使い方をちゃんと知らないだけだ と思います。 *** 古いバージョンにも対応する数式での方法としては F2:=IF(COUNT(B:B),MIN(B:B),"") F3:=IF(F2="","",IFERROR(LARGE(B:B,RANK(F2,B:B)-1),"")) F3を下方向にコピー でできますが そもそもマクロでやるならこんなことをする必要があり ません。第一 F:G列の処理はピボットテーブルでもクエリでもどっち でもできます。

1

データが1000行超えるならマクロを使ったほうがいいですね。 エクセルのバージョンが2007ではこの数式は使えません。 F2 =IFERROR(AGGREGATE(15,6,INDEX(B$2:B$100/(MATCH(B$2:B$100,B$2:B$100,)=ROW($1:$99)),),ROW(A1)),"") G2 =SUMIF(B:B,F2,C:C) F2:G2を下にコピー

画像

1人がナイス!しています

唐突に渡されたデータで今後どのくらいのボリュームなのか、更新頻度は…などすべてが謎めいているので、当面は今動かしているVBAの途中で この結果を拾えれば…と思っています。(現状、700行程度のようです) 教えていただいた関数は別の集計作業に応用できそうです。知らない関数でした。ありがとうございました。