• ベストアンサー

excel2003空白セルを抜かした任意数のセルを合計したい。

excel2003で、ある列のデータ値に対し、空白セルを抜かしたA個分のセルの合計値を隣の列に「A回前までの合計値」として作成したいのですが、VBAを使わずに、計算式だけでできないでしょうか。 簡単な様で、よく分かりません。 この質問文も伝わるか自身がありませんが、よろしくお願いいたします。 空白セルは、0も入力されていないセルで、データの性質上ランダムに出来ます、さらに連続する場合もあります。 データはさかのぼるので合計の列は、A個下から始まります。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.4

   A     B     C 1  データ 直近3個合計 作業列 2    1          2 3    0          3 4          5    9      10    5 6          10 7          10 8    9      18    8 9    0      18    9 10    1      10   10 11          10 12    8      9   12 13    6      15   13 14          15 15    9      23   15 16    6      21   16 1.セル B1 を次の“ユーザー定義”で書式設定して、数値 3 を入力     "直近"G/標準"個合計" 2.セル B2、C2 に次式をそれぞれ入力して、範囲 B2:C2 をズズーッ   と下方にドラッグ&ペースト   B2: =IF(ISERROR(LARGE(C$2:C2,B$1)),"",SUMIF(C$2:C2,">="&LARGE(C$2:C2,B$1),A$2:A2))   C2: =IF(A2="","",ROW()) セル B1 に他の数値(4 とか 5 とか)を入力して変化を確認してみてください。

02yanma
質問者

お礼

ありがとうございました。

02yanma
質問者

補足

ご回答ありがとうございました。 まさにこの通りです。 はじめの3個は表示が出ないようになっているのですね。 理解するのに30分位かかりました(^^;) ありがとうございました。

その他の回答 (4)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

私には質問内容がよくわからないのですが、皆さんの回答の中にご自分の希望の処理(A列のデータと集計方法)の例が提示されているのでしょうか? このようなご質問では、言葉で説明するより表のレイアウトと集計結果をそのまま貼り付ける、あるいは図で例示したほうが的確な回答が得られると思います。

02yanma
質問者

補足

ご指摘の通りです。 次回から図を添付するようにいたします。

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.3

VBAを使わずとの条件でしたが、 サンプルコードを作ってみました。 不要なら無視してください。 '===========標準モジュールに記述================================ Function mySum(argRng As Range)   On Error GoTo Err   Dim argRngRowsCnt As Long, myRngRowsCnt As Long   Dim myRng As Range   Application.Volatile   argRngRowsCnt = argRng.Rows.Count   Set myRng = argRng   Do Until WorksheetFunction.Count(myRng) = argRngRowsCnt     If myRng.Row = 1 Then GoTo Err     Set myRng = myRng.Resize(myRng.Rows.Count + 1).Offset(-1)   Loop   mySum = WorksheetFunction.Sum(myRng)   Set myRng = Nothing   Exit Function Err:   mySum = "データ不足です"   Set myRng = Nothing End Function '===========使い方============================================= '例えば A列がデータ列で '5個前までのデータの和を求める時 ' B5セルに  =mySum(A1:A5) 'B5以下はコピペしてください。 '合計範囲内に空白があれば上方向にデータを探して合計します。

02yanma
質問者

補足

ご回答ありがとうございました。 実はVBAがよく判らないので、計算式だけで模索していたのですが、やはり複雑な事はVBAの方が簡単なのでしょうか、今後の勉強とさせて頂きます。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

誤記訂正 誤:データ頭から3個分の合計は次の様な式になります 正:データ頭から4個分の合計は次の様な式になります

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

文章で説明する自信が無いのでしたら画像でも付けて見てください。 良く判らないので、恐らくこんなことをしたいのかなぁと推測して回答します。 作業列を使います。 A列のA1からデータや空白が入っているとして、B1に=COUNT(A$1:A1) と、入れて下までコピー。 A個分の個数をE1セルに入力する事にします(図の例では4)。 データ頭から3個分の合計は次の様な式になります =SUMIF(B:B,"<="&E1,A:A)

02yanma
質問者

補足

ご回答ありがとうございました。 残念ながら少し違いました。 ご指摘の通り上手く伝わらなかった様です。次回から図を添付するようにいたします。

関連するQ&A

  • Excel:空白セルの合計

    Excel2003です。 家計簿のようなものでは、0であっても0と書くと変なので空白にします。 ここで空白セルの合計(オートSUM)は0だと思っていたのですが・・・。 例: A3:A5(A3~A5)を選択して合計をクリックします。 このときA3:A5の、いずれか1つのセルに数値があれば正しい合計が でます。 しかし、 A3:A5が全て空白の場合 (1)A1数値 A2空白 (2)A1空白 A2数値 ではそれぞれ、異なる値になります。 質問です。 A3:A5が全て空白の場合、A1,A2がどのような場合であっても A3:A5の正しい合計を得る方法を教えてください。

  • 入力されるまで合計セルを空白にしたいのですが

    A5:A120にデータ入力し、A121に「Sum」で合計を だしています。B列からM列も同様になっています。 列のデータは1~0の数字だけです。 当該列のセルが未入力だと当然合計欄は「0」に表示 されています。 この場合、「0」が目障りなので、いずれかのセルにデータ が入力されない限り、空白表示にしておきたいのです。 どんな関数をどう使えば良いのでしょうか?

  • LARGE関数で空白セル数だけ飛ばして記入したい。

    LARGE関数で空白セル数だけ飛ばして記入したい。 たとえばA列に連続する数値がランダムに入力されていて、その値の高い値から、LARGE関数で順番をB列に記入しました。しかしA列に空白セルがある場合、空白セル数だけ高い値を飛ばして順番をつけたいのですが、良い方法は御座いませんでしょうか? 例 A列に1から15までランダム記入されていて空白セルが2つあれば13から1、2としていきたいのです。 B1=IF($A$1:$A$15="","",LARGE($A$1:$A$15,A1))↓ と記入すると15、14がエラー表示になって 13から1になってしまいます。それを、13から1、2としていきたいです。 お願いします。

  • 空白セル

    Excel2007です 仮にC1のセルに=A1-B1の計算式でA1かB1のセルを空白にすると#VALUE!エラーがでます 空白セル=0(ゼロ)と出来ないでしょうか

  • セルの結合

    VBAの勉強を始めたばかりの初心者です。 A1、A5 A9・・・・A25までのセルに、それぞれデータが入っていて、データが入っている各セルの下にはデータが入っていない空白の三行を作っています。隣のB列にもデーターはありません。 それをA1からB4、A5からB8・・・A25からB29までのセルを、手作業で結合をしているのですが、今後データが増えていくのでどうしてもVBAで行いたいのです。 ネットで調べてもありそうでなかなかないのでどなたか教えていただければ助かります。 わかりにくい説明ですが宜しくお願いします。   A列  B列 1 ああ  空白 2 空白  空白 3 空白  空白 4 空白  空白 5 ああ  空白 6 空白  空白 7 空白  空白 8 空白  空白 9 ああ  空白 ・ ・

  • エクセルで空白以外のセルの合計を求めたい

    こんにちは。 excel2010ベータで、A2~F30までデータが入っていて、E列の空白セル以外の(つまり、E列にデータがある行のみ)F列の合計値を出したく、=sumif(E2:E30,""&"<>",F2:F30)と入れたのですが、うまくいきません(F列の下にデータを付け足すとE列がカラでも加算されていく)。どのようにしたらいいのでしょうか?

  • Excel2003で、指定列に空白セルのある行の数をカウントしたいので

    Excel2003で、指定列に空白セルのある行の数をカウントしたいのですが。 下記の様なセルがあり、A列とC列が共に空白の行の数をカウントしたいのですが どの様にすれば良いでしょうか? (3行目と6行目がA列とC列のセルが空白なので、「2」を表示したいのです)  ABC 1あか 2い さ 3 き 4う 5え し 6 く 7 けす 宜しくお願い致します。

  • 【Excel2007】0で補間ができない空白セル

     今晩は、質問させていただきます。 どうぞよろしくお願いいたします。  関数計算により文字列が消されているセルから 「値と数値の書式」で貼り付けをされたセル(空白セル)が、 「0で補間」できなくなり困っております。  例えばA1が10で、B1が=if(A1=5,A1,"")となっている場合、B1は文字列が入らなくなります。 このB1を、あるグラフの元データ群の中に「値と数値の書式」で 貼り付けます。(つまりそこも空白セルになります。) 次にそのグラフを0で補間(グラフツール→デザイン→データの選択 →非表示及び空白のセル→「データ要素を線で結ぶ」にチェック)いたしますと、 何故か上記の空白セルの部分のみ補間されず0にマーカーが出たままになります。 (他の空白セルは正常に0補間されます)  また、この空白セルで「Delete」キーを押してやると、 (あたかも今まで関数が入っていたかのように)グラフ上のそのセルに当たる部分が 他の空白セルと同じように補間されます。  この現象は一体何なのでございましょうか?? 何度も経験いたしておりますが、簡単に対応できる操作方法等はございますでしょうか? (今回は1つのセルに貼り付ける場合でしたが、頻繁にこの方法でデータ「全体」を 移動いたしますため、個々の空白セル全てでDeleteキーを押す必要が出てしまい手間です。。)  もしお詳しい方がいらっしゃいましたら、どうぞよろしくお願いいたします。

  • "0"だけを空白で返すには?

    Excel2000を使用しています。VBAである文字列データ(数値)を必要な長さに分割してシートの1行目から順にセルに貼り付けています。 例)要素数が20個ならA1セルからA20セルまでに その際数値が”0”の時は空白に置換して貼り付けているのですが、「10.3」や「50.6」などの”0”までなくなってしまい、セルに貼り付けた際「1.3」や「5.6」になってしまいます。 純粋に”0”だけ空白に(置換)してセルに貼り付けるにはどうすればいいのでしょうか?教えてください。

  • ExCEL2000合計

    A列になにかしらのデータ(ランダムです。ちなみに日付です) が何行がおきにならんでいます (何行おきかはランダムです) そのデータ(日付)ごとにC列に数値があります。 数値もランダムです。数値の個数もランダムです。 A列にデータの入っている行にだけその日付ごとの数値の合計値をだしたいのです。 関数とかつかってできますでしょうか?

専門家に質問してみよう