プロが教える店舗&オフィスのセキュリティ対策術

エクセルでA1からA100までを足し算したいのですが、特定の行、たとえば、13と25と43と68の行を
計算しないで合計を出したいのですが、この場合どのような関数式を入れたらよいのでしょうか?
よろしくお願いします。

A 回答 (6件)

A列のセルA1が始点とすると


手順
1. B列に、除外したい行番号のセル、例えば、セル B 5 に「1」を入力、他は空白のままとする
2. C列のセルC1に次の数式を入力
  =A1*ISBLANK(B1)
3. 下方へオートフィル
4. セルB1 から 終点のセルまで合計

お試しください。
    • good
    • 0

No.4です!


たびたびごめんなさい。

投稿後に気になったのですが・・・
>たとえば、13と25と43と68の行を

とあるのは行番号のコトですかね?
もしそうであれば、No.4は全くの的外れですので
読み流してください。

何度も失礼しました。m(_ _)m
    • good
    • 0

こんばんは!


A列には除外したいデータが重複して存在(同値が複数存在)している訳ですよね?
一応そういうコトだとして・・・

(1)簡単な方法
↓の画像のようにSheet2に除外したデータをA列に表示しておきます。
B2セルに
=COUNTIF(Sheet1!A:A,A2)
C2セルに
=A2*B2
という数式を入れB2・C2を範囲指定 → C2セルのフィルハンドルで下へコピーしておきます。

そして表示したいセルに
=SUM(A1:A100)-SUM(Sheet2!C:C)
とします。

(2)VBAの一例です。
※ この場合もSheet2のA列に除外したいデータを入力しておきます。
(B・C列は不要です)

Sheet1のA1からデータがありB2セルに除外したデータの合計を表示するとします。
画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub test() 'この行から
Dim i As Long
Dim vl As Variant
Dim ws As Worksheet
Set ws = Worksheets("Sheet2")
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If WorksheetFunction.CountIf(ws.Columns(1), Cells(i, 1)) = 0 Then
vl = vl + Cells(i, 1)
End If
Next i
Cells(1, 2) = vl '←B1セルに表示するようにしています。
End Sub 'この行まで

参考になりますかね?m(_ _)m
「エクセルで特定の行を除いて計算したい」の回答画像4
    • good
    • 0

=SUM(A1:A100,-A13,-A25,-A43,-A68)

    • good
    • 0

勿論一番簡単なのは


=SUM(A1:A12,A14:A24,A26:A42,…)
あるいは
=SUM(A1:A100)-SUM(A13,A25,A43,…)
のようにしてしまう方法です。




他にも幾つかの方法が考えられますが,どの方法が合理的かは,除外したい13などの行のセルに「具体的に何が記入(または計算?)されているか」によって変わります。

たとえば除外したいA13やA25のセルをSUBTOTAL関数で計算しておいて,総計もまた
=SUBTOTAL(9,A1:A100)
と計算することができるかもしれません。

またA13やA25セルを「文字列」にしておいて(生データを記入しているならセルを文字列の書式にしておいて,数式を記入しているなら数式の計算結果を文字列にしておいて)
=SUM(A1:A100)
としてしまうような手が使える場合もあるかもしれません。

実際の表の姿によっては,もっとシンプルにSUMIFで計算できるかもしれません。
たとえば集計したい数字がB1からB100まであり,除外したいB13やB25の行のA13やA25には「小計」と記入してあるとすれば
=SUMIF(A1:A100,"<>小計",B1:B100)
などのように。具体的なデータの中身によって,工夫代は沢山あります。
    • good
    • 0

まずは、無条件で、足しておいて、後から、いらない行のデータを引けばOKだけど、これじゃダメ?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!