• ベストアンサー

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

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

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答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/17068)
回答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列の“累計”を出して、それを使用すればよかったのですね。 条件をうまく数式に入れ込むことができなくて、困っていたので助かりました。 丁寧に説明していただき、ありがとうございました。

関連するQ&A

  • Excel:こういう場合の条件式は???

    こんにちは。 アドバイスよろしくお願い致します。 エクセルで作表中です。 いろいろな数値があり、その数値は3種類にわけられます。 仮に赤、青、黄とします。 今、A列に数値が入っていて、その数値によってB列に赤、青、黄と入力してあります。 A列もB列もどこかからのコピーではなく、手入力です。 本題ですが。 最終的に赤の合計数値(赤と入力した行のA列の合計。以下同様)、青の合計数値、黄色の合計数値を出したいです。 最後にそれぞれ選んで足し算していけば出るのですが、時間もかかるし、途中経過の合計を見ることができないので、計算式でパパッとできて、常に途中経過の合計がチェックできるようにならないかなと思っています。 例えば、B列に「赤」と書かれた行のA列の数値はC1のセルに加算されていく・・・みたいな条件式がないかなと。。。 このようなことが無理でも似たような方法があれば教えてください。 どうぞよろしくお願い致します。

  • 【Excel】複数行のデータをまとめる(合計)

    Excel2003を使用しています。 A列に連番、H列とI列にそれぞれ金額が入力されています。 下記の表1のように、A列の連番は、同じ番号が複数のときもあります。 これを、表2のように、連番が同じ番号だったら、H列とI列の金額をそれぞれ合計で表示させたいのですが、どうすればいいでしょうか? 表1  A列   H列    I列   1    300    200   1    500    450   1    250    100   1    150    100   2    400    250   3    200    100   3    600    350   4    800    550   5    700    500   5    650    400   5    300    100         :         : 表2  A列   H列    I列   1   1200    850   2    400    250   3    800    450   4    800    550   5   1650    1000         :         : よろしくお願いします。

  • EXCEL関数でセルの数値の個数を求めたい

    以下のように各セルに入力されている場合に各セルに含まれる "," を除いた数字の個数の合計を求めたいのですが、どのようにすればできるでしょうか。 以下の場合ですと、 1行目 3個 2行目 2個 3行目 3個 で、8個という結果を得たいです。 LEN(substitute(A1,",","")) や (LEN(A1)+1)/2 などで一つ一つのセルに含まれる数値の個数は出せますが、列全体の個数の合計を求めたいです。 ---- 列A 行1-> 3,6,9 行2-> 2,5 行3-> 2,8,11 ※入力規則として、数値を","で区切ります。 ※列を追加して上の関数を各行に設定した上で合計を出す方法以外で。

  • Excel2010 関数について

    Excel2010を使用してます。 1行の中にアルファベットを入力するセルと数値を入力するセルが交互に並んでいます。 その中で、例えばAと入力されたセルの左隣のセルの数値の合計を出したい場合、どのような数式を使用すればいいのでしょうか。 自分なりに調べてみましたが、Aと入力されたセルの左隣のセルという指定の仕方がわかりませんでした。アルファベットと数値のセルは交互に並び全部で60列ぐらいあるので、その中でAと入力されたセルの左の数値の合計を出したいのですが、どなたか教えてください。      A  B  C  D   E  ・・・   1 1 A 3 A 1 B 2 C 1 A ・・・   2 2 B 1 A 3 A 1 C 1 B ・・・   ・   ・   ・ というような表になっています。 数値とアルファベットはそれぞれ1つずつのセルに入力されています。 よろしくお願いします。

  • Excel2000 エクセル 範囲内で条件を満たす最小の列を返す方法

    Excel2000 エクセル 範囲内で条件を満たす最小の列を返す方法 Excelで関数を使って「ある範囲内で条件を満たす最小の列を返す」 というセルの作成方法を教えていただけませんか? 例えばA1からJ1の1行に 0 0 0 1 2 1 3 6 0 0 という数値が入力されているとします。 この10個のセルを左から順に「セル内の値>0となる」という条件に合うか調べた場合、 何列目に条件を初めて満たす事ができるかを返すセルを作りたいのです。 この場合「セル内の値>0」の条件を満たす最小の列のセルは、 「1>0」となるセルD1となり、左から4列目なので 「4」 を返したい。 出来れば「ある範囲内で条件を満たす最大の列を返すセル」の作成法も教えていただけませんか? (1)の例の場合「セル内の数値>0」の条件を満たす最大の列のセルは、 「6>0」となるセルH1となり、左から8列目なので「8」を返すようなセルを作りたい。 複数のシートにデータがあり、それらのシートに一括でこのセルを作りたいため、 補助となる行を入れるのはよいのですが、 行列を入れ替えるような操作がいらない方法が知りたいです。 どうかよろしくお願いします。

  • Excel2007での自動連番の振り方

    Excel初心者です。 自動連番の振り方を教えて下さい。 宜しくお願いします! A列に連番 B列に文章 を入力したいのですが A1のセルが「1」として B1のセルに文字を入力したときに A2のセルに自動的に「2」と表示される B2のセルに文字を入力したときに A3のセルに自動的に「3」と表示される ↓ 以下、同じ方式で自動的に連番が振られていく・・・ この方法をご存じの方がいらっしゃいましたら、 ご回答宜しくお願いいたします。

  • 【Excel】複数の条件設定

    いつもお世話になります。Excel2003を使用しています。 下記のような表があります。   B     D     F     L 1 0100   ○社        100 2                  200 3                  300 4             計    600 5 6 0101   ×社        100 7                  150 8             計    250    :    : B列に数値が入力されていたら、同行のDセルの値を取り出し、さらに、その行以下で一番近い計の値(Lセル)を取り出したいのですが、関数で可能でしょうか?(社名とその計を取り出したいということです。) P列以降が空欄ですので、そこに結果を表示させたいと思っています。 この表は支払明細書で、毎月20社前後になりますので、明細書とは別に社名と支払金額(計)の一覧表を作成したいと思って、質問させていただきました。よろしくお願いします。

  • 【Excel】条件を満たすデータの集計について

    Excel2003を使用しています。 A列(A7セル以下) → 日付[yy/mm/dd 形式] B列(B7セル以下) → “-”(ハイフン)を含む11桁の数字[例:1234567-8900] C列(C7セル以下) → 文字列 D列(D7セル以下) → 数値 が入力されている表があります。 A列の日付が 06/09/29 以前で、かつ、B列のハイフン前の4桁が『4567』であるD列の数値を集計したいのですが、どのようにすればいいでしょうか? 前回、同様の質問(No.3403437)で回答をいただきましたが、例の挙げ方が良くなかったようで、実際には正しい計算結果を得ることができませんでした。 よろしくお願いします。

  • EXCEL 2003で条件に合った合計を求めたい

    ______A ____B____ C_____D 1___111___ 1 ___10___ 60 2___111___ 2 ___10 3___222___ 2 ___10 4___333___ 1 ___10 5___333___ 2 ___10 6___333___ 3 ___10 7___444___ 1 ___10 8___444___ 3 ___10 9___555___ 1 ___10 Excel 2003環境において、上記A1:C9を対象に関数で下記条件を元に数式をD1に入力して値を求めたいです。 条件: A列の同じ値のセルを一つのグループとし、かつその中で、B列で1から始まる連番となっているグループを対象にC列のセルを合計する。 上記のセル範囲で条件に合う行は1,2,4,5,6,9行目で答えは60になります。 SUMPRODUCT関数やIF関数を併用してみましたが、うまく作ることができませんでした。 なんとか作業列やVBAを用いずに一つの数式で済ませたいです。 よろしくお願いします。

  • 【Excel】日付を条件のひとつに指定してデータ集計

    Excel2003を使用しています。 A列(A7セル以下) → 日付[yy/mm/dd] B列(B7セル以下) → 文字列 C列(C7セル以下) → 文字列 D列(D7セル以下) → 数値 が入力されている表があります。 例えば、A列の日付が 06/09/29 以前で、かつ、B列にある特定の文字(仮にえくせるとします)が含まれるD列の数値を集計したいのですが、どのようにすればいいでしょうか? 関数で試してみたのですが、うまくいかなかったので、質問させていただきました。 よろしくお願いします。

専門家に質問してみよう