Excelのワークシートで使用する関数のメモ。
指定範囲のセルの数値を合計する。おそらく世間で一番よく使われている関数。
SUM(範囲)
A | B | C | |
1 | |||
2 |
1 |
||
3 |
2 |
||
4 |
3 |
||
5 | =SUM(B2:B4) |
||
6 |
指定範囲内にある数値を合計する。数値以外(文字列など)は集計の対象外となる。
集計したい範囲を選択してからツールバーの「Σ(オートSUM)」を押すと、自動的にSUMが入力される。
(縦に選択した場合は選択範囲のすぐ下、横に選択した場合は選択範囲のすぐ右のセル)
ついでに言えば、範囲選択をするだけで、その範囲の合計値がステータスバーの右の方(ウィンドウの右下)に表示される。
条件に応じたセル数を数える(カウントする)。
関数名 | 概要 | 説明 |
---|---|---|
COUNT |
COUNT(範囲) |
指定範囲内にある数値の入っているセルの数をカウントする。 SUMが数値のみを対象としている為、おそらくそれと対応しているのだろう。 |
COUNTA |
COUNTA(範囲) |
指定範囲内にある何らかの値の入っているセルの数をカウントする。 空文字列「 ="" 」「' 」が入っていてもカウントの対象となる。 |
COUNTBLANK |
COUNTBLANK(範囲) |
指定範囲内にあるブランク(空白)のセルの数をカウントする。 空文字列「 ="" 」「' 」もブランクとしてカウントの対象となる。したがって、ブランクの入っているセルがある場合、COUNTAとCOUNTBLANKの合計は 指定範囲のセル数とは一致しない。 |
COUNTIF |
COUNTIF(範囲, 条件) |
指定範囲内にある条件を満たすセルの数をカウントする。 例えば「文字列abcと等しいセル」であれば「 COUNTIF(B2:B4, "abc") 」となる。「文字列abcでないセル」は「 COUNTIF(B2:B4, "<>abc") 」となる。つまり「abcと等しいセル」は「 COUNTIF(B2:B4, "=abc") 」とも書ける。 |
COUNTIFでは、検索対象となるセルの値しか条件にすることが出来ない。
A | B | C | D | |
1 | ||||
2 |
2 |
aa | ||
3 |
2 |
bb | ||
4 |
3 |
bb | ||
5 | B列が2でC列がbbの行数は? |
|||
6 |
SUMPRODUCTを上手く使うと、このカウントが出来る。
参考: kazuさん(Excelの学校)のcountifで複数条件
SUMPRODUCT((範囲条件1) * (範囲条件2) * …)
上記の「B列が2でC列がbbの行数」という例は、以下のようになる。
=SUMPRODUCT((B2:B4 = 2) * (C2:C4 = "bb"))
なんでこれで上手くいくのか理解しがたいが(苦笑)
どうも「B2:B4 = 2
」という式は、“それぞれのセルが条件を満たした場合は1、それ以外は0”という値の配列になるっぽい。
つまり「B2:B4 = 2
」は「1, 1, 0」になる。同様に「C2:C4 = "bb"
」は「0, 1,
1」になる。
で、これらの配列同士の掛け算は、配列内のn番目の要素同士を掛け算した配列になるっぽい。「1*0, 1*1, 0*1」→「0, 1, 0」
そして配列の各要素全体を合算するのがSUMPRODUCT関数の仕事らしい。(本来は複数の配列を指定し、それらを掛けてから合算するようだが、今回は1つの配列しか指定していない)
したがって「0 + 1 + 0 = 1」で、求める件数と一致する。