- ベストアンサー
エクセルの関数で1~自分の順番までの和を求める方法を教えてください。
エクセルの関数での質問です。 A B C 12000 3 10100 1 11500 2 16880 6 15240 5 13990 4 BはAをRANK関数で順位付けした物です。 Cには1~自分の順位までのAの数値の合計が入るような関数を書きたいのですが思いつきません。 C1は1~3位までの和、C2には1位のみ、C4には1~6位までの和が結果として入れば他のスペースを使っても構いません。 Aの数値は可変で、それに伴いBも変化します、その変化に対応できるような物をお願いします。 データ量は変動する物で4000件前後の物です。 SUMIFを使ってみたのですが、知識不足なために思った物が作れませんでした、なにか良い方法をご存知の方、お教え頂けると助かります、よろしくお願い致します。 質問で不明な点などありましたらご指摘ください、回答に向けての補足でしたらいくらでも致します。 WIN2000にEXLE2000を使用しています。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは~ No.2の方の式でいいと思うのですが、蛇足かもしれない補足を‥ > データ量は変動する物で4000件前後の物です ‥とのことでしたら、範囲は列全体( A:A、B:B )を指定して ★ C1に =IF(B1="","",SUMIF(B:B,"<="&B1,A:A)) と入れ、予想される最大行までコピーしておいた方がいいかもしれません。 それと、B列の順位は、 =IF(A1="","",RANK(A1,A:A,1)) のような式が入っているのでしょうか? 要は、A列の数値が少ないほうから( 昇順に )、1位、2位、3位‥となるんですよね。 ★ だとしたら、C1に =IF(A1="","",SUMIF(A:A,"<="&A1)) でも同じ結果になると思います。
その他の回答 (4)
- sige1701
- ベストアンサー率28% (74/260)
>C1は1~3位までの和、C2には1位のみ、C4には1~6位 C1=SUMIF(B1:B4000,"<=3",A1:A4000) C2=SUMIF(B1:B4000,1,A1:A4000) C3=SUMIF(B1:B4000,"<=6",A1:A4000)
お礼
ご回答いただきまして、ありがとうございます。 ごめんなさい、私の質問の仕方が悪かったようです。 CはBの順位までのAの和を求めたかったのです、 > C1は1~3位までの和、C2には1位のみ、C4には1~6位までの和が・・・・・ というのは例の場合の結果です。
- imogasi
- ベストアンサー率27% (4737/17069)
例データ A1:C10 A列 B列 C列 12 10 3 23 7 1 42 4 6 23 7 45 2 65 1 32 5 21 9 31 6 43 3 B1は =RANK(A1,$A$1:$A$10) と入れてB10まで式を複写。 C1:C3は望む順位までのその順位の数。 D1は =SUM(IF(B1:B10<=C1,A1:A10,0)) と入れてSHIFT+CTRL+ENTER(3つのキーを同時に押す) 配列数式です。 D1で+ハンドルを出して、D3まで引っ張る。 結果は D1:D3に 153 65 258 A列を別列にコピーし、並べ替えて、1-3番までなどの部分集計を計算して確認しました。
お礼
ご回答いただきまして、ありがとうございます。 ごめんなさい、私の質問の仕方が悪かったようです。 CはBの順位までのAの和を求めたかったのです、 > C1は1~3位までの和、C2には1位のみ、C4には1~6位までの和が・・・・・ というのは例の場合の結果です。 配列数式というのは、どのような動きをする物ですか? これまた解説しているようなHPはありませんか?
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
=SUMIF($B$1:$B$6,"<="&B1,$A$1:$A$6)
お礼
ご回答頂きましてありがとうございます。 "<="&B1 こんな記述だったんですね、勉強になります。
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
C1に =SUMPRODUCT(1*($B$1:$B$6<=B1),$A$1:$A$6) で、下にズラッとドラッグすればよいかと。
お礼
ご回答ありがとうございます。 結果としては思ったとおりの内容でした、助かりました。 しかしながらSUMPRODUCTというのは実際にどのような動きでこの計算をしているのでしょうか? 解説しているHPなどご存知ありませんか?
お礼
ご回答いただきまして、ありがとうございます。 まさに晴天の霹靂とでも言いましょうか?Bがいらないなんて気が付きませんでした、ありがとうございます。