
Excelでデータを集計する際、「一行おきに合計したい」という場面は多くあります。たとえば、売上データの奇数行のみ合計 したり、偶数行のみ合計 したりする場合です。
小規模なデータであれば、SUM関数で手作業でも問題ありませんが、大きな表では手間がかかり、非効率 です。
そこで、Excelの SUM関数・SUMIF関数・MOD関数・FILTER関数 を活用し、簡単な方法から高度な方法まで すべてのパターン をわかりやすく解説します!
✅ 最も簡単な方法から順に紹介!
✅ Excelのバージョン別に最適な方法を提案!
✅ 初心者でもすぐに使える!
🔰 まずは一番簡単な方法!手動でSUM関数を使う
小規模なデータであれば、手作業でSUM関数を使うのが最も簡単です。
① 奇数行だけを合計する
② 偶数行だけを合計する
同じことですが、キーボートやマウスでのポチポチ作業って、意外と大変ですよね、指がつりそうになりそうです。
✅ メリット:とにかく簡単!
❌ デメリット:データが多いと手作業が大変
🔹 👉 小規模な表ならこの方法でOK!
📝 SUMIF関数を使う方法(作業列あり)
作業列(補助列)を作ることで、計算が 圧倒的に簡単&速い です。
① B列に「奇数・偶数判定」の作業列を追加
A列(データ) | B列(判定) |
---|---|
10 | 奇数 |
20 | 偶数 |
30 | 奇数 |
40 | 偶数 |
50 | 奇数 |
60 | 偶数 |
B1セルに奇数、B2セルに偶数と手入力で打ち、B1:B2を範囲選択し、下にズルズルとコピペ。
② SUMIF関数で合計
奇数行だけを合計
偶数行だけを合計
✅ メリット:どのExcelバージョンでも使える!
✅ データが増えても高速!
❌ デメリット:作業列を追加する必要がある
🔹 👉 中規模データなら作業列を活用!
💡 SUMIF関数(作業列なし)で自動計算!
作業列を使わずにSUMIF関数で直接計算できます。
① 奇数行の合計
② 偶数行の合計
✅ メリット:作業列なしでスッキリ!
✅ どのExcelバージョンでも使える!
❌ デメリット:SUMIFの条件設定がやや複雑
🔹 👉 作業列なしでスッキリまとめたいならこれ!
🚀 配列数式(SUM + IF)を使う方法
Excelの配列数式を活用することで、一行おきに合計できます。
① 奇数行の合計
② 偶数行の合計
📌 Excel 2019以前のバージョンを使っている場合
➡ Ctrl + Shift + Enter
で確定する必要があります!
✅ メリット:配列数式で柔軟な計算が可能!
❌ デメリット:旧バージョンだと Ctrl + Shift + Enter
が必要
🔹 👉 配列数式に慣れているならこれ!
🎯 Excel 365/2019ならFILTER関数が最強!
Excel 365/2019 なら FILTER関数 を使うのが最もシンプル&最適です。
① 奇数行の合計
② 偶数行の合計
✅ メリット:最もシンプルで分かりやすい!
✅ 最新のExcel 365/2019に最適!
❌ デメリット:旧バージョンでは使用不可
🔹 👉 Excel 365/2019 なら FILTER関数がベスト!
📌 一列おきに合計する方法(応用編)
横方向に一列おきの合計を取りたい場合は COLUMN関数 を使います。
SUMIFを使う方法
FILTERを使う方法
✅ COLUMN関数を使えば横方向の集計もOK!
🔍 まとめ|どの方法を選ぶべき?
方法 | 使いやすさ | 使えるExcelバージョン | 配列数式不要 |
---|---|---|---|
SUM関数(手動選択) | ⭐⭐⭐⭐⭐ | すべてのバージョン | ✅ |
SUMIF(作業列あり) | ⭐⭐⭐⭐⭐ | すべてのバージョン | ✅ |
SUMIF(作業列なし) | ⭐⭐⭐⭐ | すべてのバージョン | ✅ |
SUM + IF(配列数式) | ⭐⭐⭐ | すべてのバージョン | ❌ |
FILTER関数(Excel 365/2019) | ⭐⭐⭐⭐⭐ | Excel 365/2019以降 | ✅ |
✅ 初心者なら「SUM関数 or SUMIF(作業列あり)」が簡単!
✅ 作業列なしでスッキリさせたいなら「SUMIF(作業列なし)」!
✅ 最新のExcel 365/2019なら「FILTER関数」がベスト!
📢 この方法を活用して、Excelの集計作業をもっと効率的にしましょう! 🚀
※※
Excel通にも納得してもらえるSUMIFの解説
=SUMIF(ROW(A1:A10),MOD(ROW(A1:A10),2)=1,A1:A10) の意味
この数式は、A1:A10の範囲のうち、奇数行のデータのみを合計する ものです。
式を 3つのパーツ に分けて、それぞれの役割を詳しく解説します。
1️⃣ SUMIF関数の基本構造
SUMIF関数は、指定した条件に合うセルだけを合計する関数です。
構文:
引数 | 説明 |
---|---|
範囲 | 条件を適用するセル範囲 |
条件 | 「どのセルを合計するか」の基準 |
合計範囲 | 実際に合計するセル範囲(省略すると”範囲”と同じ) |
通常の例:
➡ A1:A10 のうち “50より大きい” セルに対応する B列の値を合計する
では、今回の数式に戻って考えましょう。
2️⃣ 「範囲」: ROW(A1:A10) の意味
この部分は、A1:A10 の各セルの「行番号」を取得する ものです。
実際の値:
{1;2;3;4;5;6;7;8;9;10}
つまり、この数式では「行番号」を基準にSUMIFを適用しています。
3️⃣ 「条件」: MOD(ROW(A1:A10),2)=1 の意味
この部分の意味を詳しく解説します。
🔹 MOD関数とは?
➡ 「数値 ÷ 除数」の余り を求める関数
たとえば、行番号を 2 で割ったときの余りを計算すると:
行番号 | MOD(行番号,2) の結果 | 結果が 1 の行 |
---|---|---|
1 | 1 | ✅(奇数行) |
2 | 0 | ❌(偶数行) |
3 | 1 | ✅(奇数行) |
4 | 0 | ❌(偶数行) |
5 | 1 | ✅(奇数行) |
つまり、
は、奇数行のセルだけを選ぶ条件 になっています。
4️⃣ 「合計範囲」: A1:A10 の意味
➡ 実際に合計する範囲(値が入っているセル)
SUMIF関数は「範囲」ではなく、この「合計範囲」のデータを合計します。
(範囲の条件に一致するセルのみが合計される)
✅ 結果の動作イメージ
SUMIFは、行番号が奇数のセルだけを合計 するので:
A列(データ) | 行番号 | 奇数行?(MOD(ROW,2)=1) | 合計対象? |
---|---|---|---|
10 | 1 | ✅ | ✅(加算) |
20 | 2 | ❌ | ❌(無視) |
30 | 3 | ✅ | ✅(加算) |
40 | 4 | ❌ | ❌(無視) |
50 | 5 | ✅ | ✅(加算) |
60 | 6 | ❌ | ❌(無視) |
70 | 7 | ✅ | ✅(加算) |
80 | 8 | ❌ | ❌(無視) |
90 | 9 | ✅ | ✅(加算) |
100 | 10 | ❌ | ❌(無視) |
合計の対象:10 + 30 + 50 + 70 + 90 = 250
🎯 応用編
1. 偶数行の合計を求める場合
➡ MOD(ROW(A1:A10),2)=0 にするだけで、偶数行の合計が計算できる!
2. 横方向(列単位)で一列おきに合計する
列方向の処理をしたい場合は、ROW → COLUMN に変えるだけ!
➡ 偶数列だけを合計するなら =0
に変更!
🔍 まとめ
部分 | 役割 |
---|---|
SUMIF(範囲, 条件, 合計範囲) | 条件に合うセルだけを合計 |
ROW(A1:A10) | A1:A10の行番号を取得 |
MOD(ROW(A1:A10),2)=1 | 奇数行の判定(1なら奇数、0なら偶数) |
A1:A10 | 実際に合計するデータ |
✅ SUMIF関数を活用すれば、一行おきの合計が簡単にできる!
✅ 作業列なしでスッキリ計算できる!
✅ MOD関数を変えれば「偶数行」や「一列おきの合計」も可能!
コメント