• ベストアンサー

【Excel】ある条件を満たすまでの件数を調べるには?

Excel2003を使用しています。 ある書類作成で、合計金額の70%に達するまでには、何件目まで(何行目まで)記載すればよいかを調べるには、どのようにしたらよいでしょうか? データは、A列~K列の6行目以下に入力されています。 金額はG列に、降順に並んでいて、合計金額をH1セル、H1セルの70%の数値をH2セルに出しています。 A列には、6行目以下に連番がふってあり(A6=1,A7=2,A8=3,…)、H2セルの値(合計金額の70%)を超えた行のA列に入力されている値を取得できないかなと思っているのですが…。 うまく説明できなくて申し訳ないのですが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

作業列使って良いなら L6=SUM(G$6:G6) で累計を下方にコピー A列の値=INDEX(A6:A500,MATCH(H2,L6:L500,1)+1,1) まあA6から順の番号なら A列の値=MATCH(H2,L6:L500,1)+1 でも結果は同じですけど...

rx-z5815
質問者

お礼

回答ありがとうございます。 MATCHで検索して、+1すればよかったのですね。 しかも、2つ目の数式だと、A列の連番もそのまま利用でき、式自体もスッキリしていてわかりやすいです。 ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

例 データ A列  B列 (A2:C8) d 23 23 h 16 39 s 15 54 a 12 66 j 11 77 g 5 82 f 4 86 B列で降順にソート C2に=SUM($B$2:B2) 生かした方向に式を複写。その行までの累計を出している。 C11に=SUM(B2:B10)*0.7  --> 60.2 空きセルに =INDEX($A$2:$A10,MIN(IF(C2:C10>$C$11,ROW(C2:C10))),1) と入れて、SHIFT+CTRL+ENTER(配列数式) 上記式で、$C$11をSUM(B2:B10)*0.7で置き換えれば、$C$11は使わなくて済む。 ーー 結果  j 第6行目jのところで初めて70%を超える。

rx-z5815
質問者

お礼

回答ありがとうございます。 配列数式でもできるのですね。 いろんなやり方を教えていただき、大変勉強になります。 詳しく説明していただき、ありがとうございました。

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

一例ですが、 L6に =SUM(G$6:G6) M6に =A6 と書き、データがある分だけ、下にコピーします。 そして、値を表示したいセルに =VLOOKUP(H2,L6:M10000,2,1)+1 と書けば良いです。 (10000という数字は、データ量によって、適当な数値に変えてください。データの最下端が10000行目に達しない場合はこのままでも構いません) L列とM列が見栄え的に邪魔なら、非表示にすれば良いです。

rx-z5815
質問者

お礼

回答ありがとうございます。 G列の“累計”を出して、それを使用すればよかったのですね。 条件をうまく数式に入れ込むことができなくて、困っていたので助かりました。 丁寧に説明していただき、ありがとうございました。