見出し画像

[EXCEL] 計を出す「SUM関数」行/列追加でも自動反映する数式付き 公務員に必要なエクセルのスキル ~基本の関数(超基本)~

目次 > 集計 > 数式・関数


【まとめ】
・SUM関数:エクセルの数式・集計の超基本 計を出す
・=SUM(計を出す始まりのセル:終わりのセル)で記述
 *「, 」で区切って個別セルを入れてもいい。
・連続したセルの計は以下のショートカットで1秒で出せる。
 Alt+Shift+=  
 *3キー同時押しショートカットは使わない」の例外
・行(列)追加にも自動対応する数式
縦計:=SUM(計を出す始まりのセル:OFFSET(計のセル,-1,0))
横計:=SUM(計を出す始まりのセル:OFFSET(計のセル,0,-1))
*念のため F2 又は 参照元のトレース(Alt⇒M⇒P)で確認する。
(参照元のトレースの削除:Alt⇒M⇒A⇒A)



【説明】
SUM関数は、エクセルで計算を行う人が最初に知る関数ではないでしょうか? 「Excelの超基本」ともいえます。
ただし、使えていない人も結構います。
[EXCEL] 私が凍りついた一言 ~エクセル怪談

単純な足し算は、セルを「+」で繋ぐことで出せます。

数式が入っているセルは自動で水色にしています
(条件付き書式)。
C7セルの数式は、
上のC6に入っているものです
(FORMULATEXT関数で自動表示)

「計」を出したいセルに = を入れて、後は、足していきたいセルをクリック⇒「+」をクリック の繰り返しで計が出ます。

しかし、いちいちセルを選んでいくのは面倒です。
間違いにも繋がります。

連続しているセルの計だったら、一気に指定できます。
その際に、SUM関数を使います。

1 SUM関数は連続するセルの計を出せる

計を出したいセルをクリック ⇒ =SUM(  と入力 ⇒ 計を出したいセルの範囲をドラッグ ⇒ ENTER(最後の「 )」は不要。自動で付く)

これで、計が出ます。

数式がどのセルを使っているか「参照元のトレース」で見てみます。

参照元のトレース:Alt⇒M⇒P
消す:Alt⇒M⇒A⇒A

左は、個々のセルを足しているのに対し、
右は、範囲指定していることが分かります。
勿論、縦だけではなく横にも範囲指定は可能です。

SUM関数には、個別のセル番地を「, 」で区切って入れることもできます。
下図左:=SUM(セル番地,セル番地,セル番地・・・)
「セルの範囲指定」と「個別セルの指定」を混ぜることもできます。
下図中央:=SUM(計を出したいセル範囲の始まり:終わり,セル番地)
これは、以下と同じになります。
下図右:=SU(計を出したいセル範囲の始まり:終わり)+セル番地

上の3つはいずれも同じ結果になります。
当然ですが、連続したセルの番地を、いちいち入力(選択)するのは面倒です。

右側は、数式が違うけれど、意味は同じ

「, 」で区切ってセル番地を入れるのは、セルが離れている場合のみにします。
ただし、全てのセルが離れているのなら、あえてSUM関数を使わなくてもいいでしょう(「+」で繋げばいい)。

2 SUM関数はショートカットで入れる

連続したセルの計を出す場合、「=SUM( ・・・」と入力しなくとも、ショートカットで出すことが出来ます(1秒)。

① 「計」欄をクリック
② Alt+Shift+= (3キー同時押し)
③ Enter
④ SUM関数が入る

左は Alt+Shift+= を推した状態
Enter押下で右になる
表下の数式は計の欄のもの(参考表示)

★注意★
「計」の上(横)にデータが入っていないと、該当のセルは選択されない。

そのため、空欄の集計表の計を出すには「ダミーデータ」を入れてから、
Alt+Shift+=
を使うと簡単です。
詳細記事:集計表の縦横計を「一瞬」で出す方法 Alt + Shift + =

*「計」はタテヨコ同時に出すこともできます(上の記事参照)。


3-1 行が増えても修正不要にする

SUM関数で範囲指定した場合
・範囲指定の途中で行(列)を追加すると、自動で範囲が変わる。
・計の欄の上(左)に行(列)を追加しても、自動では範囲は変わらない。

計の欄の上で行挿入を行うと、数値を入力しても計には入りません。
SUMの範囲指定をやり直す必要があります。
Alt+Shift+=を押すだけ、ではありますが、やり忘れの恐れがあります。
これは「事故」に繋がります。
そのため、「計」の上に行を追加することがある表の場合は、あらかじめ、行が増えることを想定した数式を入れておきます。

=SUM(C45:OFFSET(C48,-1,0))
=SUM(範囲指定の始まりのセル番地:OFFSET(計の入っているセル,-1,0)

=SUM(範囲指定の始まりのセル番地:終わりのセル番地)
の「終わりのセル番地」を変えてあります。
意味は、常に「計」欄の一つ上のセルを終わりのセルにする、です。
OFFSET関数は、指定したセルを基準に、指定の行数と列数だけ移動した位置にあるセルやセル範囲を参照する関数です。
=OFFSET(指定したセル,指定の行数,指定の列数)と記述します。

指定の行数(列数)が正の値(1~)なら、その分、下(左)へ、
指定の行数(列数)が負の値(-1~)なら、その分、上(右)へ移動します。
指定の行数(列数)が「0」ならそのままです。

=SUM(C45:OFFSET(C48,-1,0))
は、C48から1セルだけ上へ移動したセルを「SUMの範囲指定の終わりのセルにする」という数式です(列は「0」なので変わらない)
C48は「計」の欄なので、常に「計」のセルの1つ上のセルまでをSUMの範囲にする、ということです。
C48には「$」が付いていない(=相対参照)なので、行挿入すると「計」のセル番地も変わります。しかし、常に「計」の1つ上のセルまでを範囲市指定する設定になっているので、自動で計の範囲が広がるということになります。
*右の表では、元々L48だった「計」欄の「範囲指定のおしまい」のセル版tにが、1行追加したことにより、自動で「L49」に変わっています。

横の計の場合は、列を一つ前(左)にします。

=SUM(範囲指定の始まりのセル番地:OFFSET(計の入っているセル,0,-1)


*計を左のセルを「終わり」のセルにするので「ー1」となる。(行は変わらないので「0」)
*この数式を入れるには、最初に Alt+Shift+=でSUM関数をいれてから修正するのが楽かもしれません。なお、そのセルの番地を入れる、というのが他の数式とはちょっと違うところなので、間違えやすいかもしれません(私の経験上)。


ちなみに「オフセット」とは、基準点からの「ずれ」や「差」を意味するようです。チラシなどの「オフセット印刷」もここからきているようです。
私は印刷のイメージが強く(どういう印刷方法かは理解してませんが)、エクセルでの使用には違和感があったのですが、もっと活用すべきだと思っています(INDEXとかMATCHなども)。

3-2 行が増えても修正不要にする(別解/数式不要の力技)

上記3-1で対応すれば、「計」の上の行を追加しても問題ありません。
しかし、OFFSET関数が分かりづらい、というのなら、以下の方法もあります。

① 「計」欄の上に空欄行1行追加する。
② 空欄行までのSUMの範囲とする。
*データが入っていれば、Alt+Shift+= で数式が入る。
*データが入っていなければ =SUM( から範囲指定(ドラッグ)する。

③ 項目欄に「行追加時はこの行を範囲指定して行う」等と記入

*行挿入の方法
「行挿入はこの行を選んで行う」とデータが入る行を選択 ⇒ Ctrl+Shift+; ⇒ ↓ 又は「下方向にシフト」⇒ OK ⇒ 1行空欄が入る

この操作で出来た空欄行にデータを入れます。
なお、「行挿入はこの行を選んで行う」が目障りなら、「メモ(コメント)」でもいいでしょう。

「計」欄の上に空欄行があるのは目障り、というのなら、グループ化(Alt+Shift+→)で出る「+」をクリックして行を隠すという手もあるでしょう(「-」押下で表示される。グループ化の開城: Alt+Shift+←

だたし、そうすると、そもそものメッセージやコメントが見えなくなってしまい、意図が伝わらなくなります。
そういう意味で、この方法はあくまで「数式を使わない場合の力技」です。
本来は、上記3-1を用いるべきでしょう。

以上

いいなと思ったら応援しよう!