Help us understand the problem. What is going on with this article?

よく使うExcel関数

More than 3 years have passed since last update.

普通によく使うであろう関数一覧

Excelは関数がたくさんあるのですが、普段からよく使うものは限られています。

関数 構文 効果
SUM =SUM(指定範囲) 合計値を求める
COUNT =COUNT(指定範囲) 数値の個数を求める
COUNTA =COUNTA(指定範囲) 空白じゃないセルの個数を求める
COUNIF =COUNTIF(指定範囲,検索条件) 検索条件に一致するセルの個数を求める
AVERAGE =AVERAGE(指定範囲) 平均値を出す
IF =IF(理論式,真の場合,偽の場合) 条件分岐をして2パターンの結果を出すことが出来る
LEN =LEN(指定範囲) 半角全角の区別無しに文字数を表示する
LENB =LENB(指定範囲) バイト数(半角1バイト,全角2バイト)を表示する
MAX =MAX(指定範囲) 範囲内の最大値を求める
MIN =MIN(指定範囲) 範囲内の最小値を求める

四則演算

四則演算とは関数ではないが良く使う機会が出てくるのでしっかりと理解しましょう。

  • 足す(+)
  • 引く(-)
  • 掛ける(*)
  • 割る(/)

足すと引くは普通の計算式と同じだが、掛ける(×)と割る(÷)に関してはアスタリスク(*)とスラッシュ(/)を使用することになる。
例題を見てみましょう。

A B C D
1 10 5
2
3
4

上のようなExcelの数式があるとします。
その時にD列に各計算を出せるようにしてみましょう。

A B C D
1 10 5 足す =A1+B1
2 引く =A1-B1
3 掛ける =A1*B1
4 割る =A1/B1

上の表の様にD列に数式1を入れたら自動的に計算されたものが表示されます。

合計値を求める(SUM)

上の四則演算でも計算は出来るのですが、100個の数値を計算しようとしたら100個選択をすることになりとても大変です。(実際にはExcelで100個の選択は出来ない)
その為に楽に計算を行うためにExcelでは関数というものが用意されています。
その中でもこの章では合計値を求めるSUM関数を使いましょう。

A B C D
1 10
2 5
3 11
4 6
5 3
6 23
7 66
8 34

上の図の様なExcelがある時にA列全ての合計値をC1に出したい場合は次の様な数式(関数)を使います。

A B C D
1 10 =SUM(A:A)
2 5
3 11
4 6
5 3
6 23
7 66
8 34

この様に記載するとC1にA列全ての合計値が表示されます。
計算するときに間に文字列が入っていた場合は無視され飛ばされますが、注意しなければならないことがあります。
Excelの中で日付と時刻に関しては考え方が特殊になっており、シリアル値2というもので表されます。
シリアル値というのは日付を数字に直したものになるので、SUM関数等の中に日付や時刻が混じっていた場合、望む計算の合計値が表示されません。

またA列全てを計算するときに、手入力で=SUM(A:A)と記入する必要はなく=SUM(まで記入した後に合計値を出したい範囲(上記の例ではA列)をクリックすることで自動的に入力されるので、後はエンターを押すことで計算することが可能です。

次に同じSUM関数でも指定範囲の合計値を出す関数を見てみましょう。

A B C D
1 10 =SUM(A1:A5)
2 5
3 11
4 6
5 3
6 23
7 66
8 34

この関数でわかると思うのですが、関数の範囲選択をするときには=SUM(開始地点:終了地点)というように指定するだけです。
これも上と同様に範囲をドラッグして決めることも可能です。

他にも離れた地点を計算したいときにはCtrlを押しながらクリックで複数選択も可能です。

数値の個数を求める(COUNT)

次に指定した範囲にある数値の個数を表示する関数COUNTを見てみましょう。

A B C D
1 10 =COUNT(A1:A8)
2 5
3 test
4 6
5 a
6 23
7 66
8 34

この関数でもSUM関数と同じように列での選択も出来るのですが割愛します。
まずはこの関数で求められる数字はいくつになると思うでしょう。
カウントという名前からして文字の書いているセルの個数(ここでは8)を表示してくれるように思われがちですが、Excelでは文字列と数値は明確に違うものとされています。
よって、COUNT関数で求めることが出来るものは数値と決められているので数値が入っている個数つまり6が表示されるのが正解になります。

次の章では文字列も含めた計算方式の例を記載します。

空白じゃないセルの個数を求める(COUNTA)

上記のCOUNT関数と同じようにセルの個数を求めるのですが、今回は数値ではなく空白ではないセルの個数を求める関数となっています。
先ほどと同じように図にして説明をしていきます。

A B C D
1 10 =COUNTA(A1:A8)
2 5
3 test
4 6
5 a
6 23
7 66
8 34

先ほどはC1に=COUNT(A1:A8)という関数でしたが今回はCOUNTA関数になります。
その為に求めることが出来る数値は空白ではないセルの個数となるので8が表示されるはずです。
記入されているセルの個数を求める機会は多いので、COUNT関数COUNTA関数の違いは把握しましょう。

検索条件に一致するセルの個数を求める(COUNTIF)

またCOUNT系の関数となりますが、これも良く使うものなので覚えましょう。

A B C D
1 10 10
2 5 test
3 test
4 6
5 test
6 10
7 10
8 34

上記の様なExcelデータがあり、C1,C2に入っている10とtestという文字列の数を求めたいとします。
その際に使うのがCOUNTIF関数です。
関数の記述方法としては=COUNTIF(検索範囲,検索条件)となりますので記述方法は以下の通りとなります。

A B C D
1 10 10 =COUNTIF(A1:A8,10)
2 5 test =COUNTIF(A1:A8,"test")
3 test
4 6
5 test
6 10
7 10
8 34

これで表示されるものはD1のセルが10の個数、D2のセルがtestという文字の個数になります。
この時気をつけなければいけないことがあり、Excel関数に文字列を入れるときには文字列だとExcelに教えてやる必要があります。
それが"test"となっている部分のダブルクオーテーションです。
"に囲まれている部分は全て文字列として認識されるので覚えておきましょう。
また、COUNTIFにはもう一つ書き方があるので、それも見てみましょう。

A B C D
1 10 10 =COUNTIF(A1:A8,C1)
2 5 test =COUNTIF(A1:A8,C2)
3 test
4 6
5 test
6 10
7 10
8 34

この様に記載することにより、C1とC2の検索条件が変更された際にD列を変更しなくても検索をすることが可能になります。

平均値を出す(AVERAGE)

次は表題のままですが、平均値を出す関数AVERAGE関数を見てみましょう。

A B C D
1 10 10 =AVERAGE(A1:A8)
2 5 test
3 10
4 5
5 10

この関数に関してはSUM関数と同様で範囲選択だけをすれば良いので難しいことはありません。
また、SUM関数と同様にCtrlを押しながらのクリックで複数選択も可能になります。

条件分岐をして2パターンの結果を出すことが出来る(IF)

次に学ぶのはExcel野中でもつまづきやすいと言われるIF関数です。
IF関数については使用用途がとても多く、使用方法もかなりの数があるのでここでは一部分の例題のみを見てみましょう。

A B C D
1 ぶどう
2 ぶどう
3 ごりら
4 ぶどう

上記の様な表があるとして、簡単に二択でぶどうごりらを仕分けしてみましょう。

A B C D
1 ぶどう =IF(A1="ぶどう","くだもの","ごりら")
2 ぶどう =IF(A2="ぶどう","くだもの","ごりら")
3 ごりら =IF(A3="ぶどう","くだもの","ごりら")
4 ぶどう =IF(A4="ぶどう","くだもの","ごりら")

この様に記入するとB列で指定したA列にぶどうと書いていれば[くだもの],ごりらと書いていたら[ごりら]と表示されます。
また、一番上のB1さえ書いてしまえば後はコピペで勝手にA1がA2に変更3されます。
これがIF関数の基本的な作りであり、[真の場合][偽の場合]という2パターンの条件分岐をすることが出来るものとなっています。
IF関数の構文:=IF(理論式,真の場合,偽の場合)

次にIF関数の中に更に関数を追加した例題を見てみましょう。

A B C D
1 55 85
2 63
3 66
4 83 58

この様なExcelがあるとして、A列に数値が入っている場合のみA列+B列の値を求めるという計算をしてみましょう。

A B C D
1 55 85 =IF(A1="","",SUM(A1:B1))
2 63 =IF(A2="","",SUM(A2:B2))
3 66 =IF(A3="","",SUM(A3:B3))
4 83 58 =IF(A4="","",SUM(A4:B4))

上記の様にC列にIF関数を入れてみました。
これで求められる結果はなんでしょう。
前述したIF関数の構文に当てはめて考えてみましょう。

IF関数の構文:=IF(理論式,真の場合,偽の場合)

A1を例にした場合、A1のセルが""4の場合は""で空白を示し、空白ではない場合はA1からB1の合計値を求めるという関数が完成します。

IF関数は他の関数との複合、IF関数の入れ子をしたりして複雑な式を使う機会が多いので詳しく知りたい人は勉強しましょう。

半角全角の区別無しに文字数を表示する(LEN)

次に文字数を求める関数となります。
これについては特に難しい知識も必要ありません。

A B C
1 hogeほげ
2

上の様なExcelデータがあったとしてA1の文字数を求めたいとします。
その場合は下記の様に記載してみましょう。

A B C
1 hogeほげ =LEN(A1)
2

この場合、純粋に文字数を求める関数ですので表示される文字数は6となります。

バイト数(半角1バイト,全角2バイト)を表示する(LENB)

上記のLENは文字数の計算だったのに対し、LENB関数は文字のbyte(バイト)数を求める関数となっています。
バイト数という言葉が聞きなれないかもしれませんが、パソコンの容量の単位と同じです。
また、文字はabcという半角文字は1byteであいうえおの様な全角文字は2byteと計算されます。(例外もあるかも)
では実際に文字のbyte数を求めてみましょう。

A B C
1 hogeほげ =LENB(A1)
2

表示される数値はなんでしたでしょうか。
LEN関数では6に対して、今回は8と表示されたと思います。
その理由は1byte文字(hoge)が4文字で4byte、2byte文字(ほげ)が2文字で4byte。
その為に合計8と表示されているはずです。

範囲内の最大値を求める(MAX)

次は指定した範囲の中での最大値を求める関数MAX関数を見ていきましょう。

A B C D
1 10 =MAX(A:A)
2 5
3 11
4 6
5 3
6 23
7 66
8 34

この様に記述をしてもらうとA列での最大値である66がC1に表示されるはずです。
特に難しいことはなく、SUM関数の様に気軽に使えるでしょう。

範囲内の最小値を求める(MIN)

この関数は簡単に言ってしまえばMAX関数の逆です。
これも簡単に図で示してみましょう。

A B C D
1 10 =MIN(A:A)
2 5
3 11
4 6
5 3
6 23
7 66
8 34

この場合はA列の最小値である3がC1に表示されるはずです。
たくさんのデータから簡単に最大値、最小値を抽出したい場合にMAX関数とMIN関数は良いでしょう。

長くなりましたが、Excelには条件付き書式書式設定オートフィルタ機能等便利なものもあるので、また書きたいと思います。



  1. Excelでは計算式のとこを基本的に数式と言います。 

  2. シリアル値の例としては[2015/09/08]のシリアル値は[42255]となります。 

  3. もしB列ではなくC列にコピーしたとしたらAの列からBの列に条件が変更する。コピペした際に動いたセルの分だけ同一方向に指定範囲も動くということを理解しましょう。 

  4. 文字列を記載する場合は"で囲むという説明をした通りExcelからしたら""というものは何も入ってない文字列が存在するということになり、空白を示す。 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away