こんにちは、エクセル使いこなし隊 隊長の吉井良平です。
エクセルを使いこなす上で、避けて通れないのが関数です。使い慣れると普通に使えるのですが、最初はちょっと分かりにくいかもしれません。
今回は、「関数とはどういうものか?」を私なりに、分かりやすくまとめてみました。
また、基本的な使い方と、まず覚えておきたい関数を15個選んでいます。
この記事を読むことで、関数に対する苦手意識がなくなれば幸いです!
関数とは?
「関数」という言葉自体は、中学校の数学で習ってますよね。
中学校では、このように習います。
y が x にともなって変わり、x の値を決めると、それに対応して y の値がただ 1つに決まるとき、y は x の関数である
ずいぶんと難しいことを中学生は勉強してるんだなぁ、という気になりますね。
ともあれ、「y が x にともなって変わる」 → 「x が変われば y も変わる、x が決まれば y も決まる」ということです。

x と y と言うと、ちょっと抽象的で分かりにくいですよね。
厳密には関数とは言えないかもしれませんが、実は世の中に関数的なことはたくさんあります。具体的にいくつか例をあげてみます。
世の中の関数的なこと
「x が変われば y も変わる、x が決まれば y も決まる」という例です。
例1)

x を、テレビのリモコンとします。
x に対して、「電源ボタンを押す」と、状態を変更しました。
y を、テレビの画面とします。
y も、「画面が表示される」と、状態が変わりました。
例2)

x を、携帯端末(iPhoneでもアンドロイドでも、ipodでも何でも可)とします。
x に対して、「▶(再生)ボタンを押す」と、状態を変更しました。
y を、端末のスピーカーとします。
y も、「音楽が再生される」と、状態が変わりました。
こう考えていくと、世の中に関数的なことはたくさんありますよね。電気が関係しているものは、ほぼすべてが「x が変われば、y も変わる」という関係になっています。
「照明をオンにする → 照明がつく」「車のキーを回す(またはスタートボタンを押す) → エンジンがかかる」「自動販売機にお金を入れる → そのお金で買える商品のボタンが光る」等々、例をあげればキリがありません。
エクセルの関数
エクセルの関数も、実はこんな感じです。
一番簡単な、SUM関数(合計を出す)を例にあげてみますね。

エクセルに対して、ある範囲をSUM(合計せよ)と命令します。
エクセルは、範囲の合計を答えてきます。
今度は、AVERAGE関数を例にしてみます。

エクセルに対して、ある範囲をAVERAGE(平均せよ)と命令します。
エクセルは、範囲の平均を答えてきます。
簡単ですよね??
エクセルはパソコンのソフトなので、どんなにたくさんデータがあっても、文句を言わずに命令を聞いて、答えを出してくれます。
でも命令が間違っていたら、そのまま間違った答えを出してきます。あと、計算できない場合は、こちらの気持ちとは関係なくエラーを返してきます。(笑)
エクセル関数の使い方
エクセルに命令を出す場合(=関数を使う場合)には、基本的な書き方があります。

数学の式を出すと難しく思うかもしれませんが、「y=fx」というのは覚えておいて損のない知識だと思うので、そのまま出してみますね。
f は、function(機能、数学用語で関数)の略です。
y = fx → x に対して f の関係を与えると、y になる
エクセルもまったく同じような書き方をします。
戻り値 = 関数名(引数)
「戻り値」とは、答えのことです。セルに表示される、計算の結果です。( yの部分 )
関数名というのは、SUM(合計)やAVERAGE(平均)など、引数に対する相関関係を指定する個別の名前です。エクセルに対する命令と言っても良いです。( f の部分 )
引数(ひきすう、と読みます)というのは、計算をさせるデータのことです。範囲だったり、数字だったり、文字だったりしますが、エクセルに命令する対象になる部分です。( x の部分)
具体例

SUM関数での具体例
上の数式バーに表示されている数式を見て下さい。
=SUM(A1:A3)
となっていますよね。このうち、カッコでくくられた部分 A1:A3 が引数です。
この式の意味は、「A1からA3の範囲をSUM(合計)しなさい」とエクセルに命令をしています。
エクセルは、命令の結果(戻り値)として、6 を表示させています。
書き方のルール
関数を使ってエクセルに命令をする際には、エクセルが理解できる書き方をしないといけません。ルールに外れた書き方をすると、エクセルが理解できないので、エラーになります。
ちょっと面倒ですが、基本的なことをおさえておいてくださいね。慣れないうちは、関数のダイアログボックス(後で書きます)を使うのも手です。
① 書き初めは、=(イコール)から始める
= から始まると、エクセルは数式と判断します。
(文字として = を使いたい場合は、最初に ’ (アポストロフィー)をつけます)

いきなり = で書き始めると、エクセルは数式と判断してエラーになります

最初に ’ (アポストロフィー)を入れると、文字として認識してくれます
② 式は、半角英数で入力します。

日本語は理解してくれません
③ 引数は「( )」で囲みます。(カッコ)
④ 引数が複数ある場合は、「,」で区切ります。(カンマ)
⑤ 引数が文字の場合は、「” “」で囲みます。(ダブルコーテーション)

IF関数での入力例
覚えておくべき関数
エクセルにはたくさんの関数があります。(数えたら、460ぐらいありました。)
その中でも、普通の仕事(デスクワーク)で使う関数は限られています。
また、同じような機能を持つ関数も多いので、「この関数の機能は、別の関数の応用で代用できる」ものは、応用範囲が広い関数を覚えておいた方が良いです。そんなにたくさん、関数を覚えられませんよね^^
私なりに、「必ず覚えるべき」「覚えておいた方が良い」「更にエクセルを使いこなすために覚えてみては」という形で分類してみました。
必ず覚えるべき基本の関数
1. SUM (サム)
機能: 合計する
数式: =SUM(数)
備考: 引数には、セルを範囲指定したり、数値そのものを入れることもできます。
2. AVERAGE (アベレージ)
機能: 平均する
数式: =AVERAGE(数)
備考: 引数には、セルを範囲指定したり、数値そのものを入れることもできます。
3. COUNT (カウント)
機能: データの個数を数える
数式: =COUNT(数)
備考: 引数には、セルを範囲指定したり、数値そのものを入れることもできます。文字が入っているデータは、数えてくれません。
詳しい使い方は、Excelで数を数える方法:状況に応じた4つの数え方 の記事を参考にしていただければ幸いです。
4. ROUND (ラウンド)
機能: 四捨五入する
数式: =ROUND(数,桁数)
備考: 引数には、計算式を入れたり、数値そのものを入れることもできます。切り上げ(ROUNDUP)、切り捨て(ROUNDDOWN)も、一緒に覚えましょう。
参考記事: 四捨五入だけじゃもったいない、ROUND系関数の使い方
5. TODAY (トゥデイ)
機能: 今日の日付を表示する
数式: =TODAY()
備考: 引数がありません。()のみを関数の後に指定します。
使い方: いつも今日の日付を表示しておきたいときに便利です。毎日表示される日付が変わるので、「○月○日に作った」と記録を残しておきたい場合には使えません。
関連記事: エクセルの日付にまつわるエトセトラ
覚えておいた方が良い関数
基本の関数に加えて、覚えておくとエクセルの使い勝手がグンと増す関数を紹介します。
引数の数が増えてきて、最初はややこしいと思いますので、慣れないうちは関数のダイアログボックスを使っても大丈夫です。

数式タブの「関数の挿入」ボタンか、数式バー隣の fxボタンを押す

こんな感じで聞いてきてくれます
6. MAX (マックス)
機能: 数値の最大値を求める
数式: =MAX(数)
備考: 引数には、セルを範囲指定したり、数値そのものを入れることもできます。
使い方: テストなどで最高点を求める、最も利益率が高い値を表示する、などなど。
6. MIN (ミン)
機能: 数値の最小値を求める
数式: =MIN(数)
備考: 引数には、セルを範囲指定したり、数値そのものを入れることもできます。
使い方: 最も早いタイムを表示する、など数値が小さいほど良い場合に使います。テストの最低点、利益率が一番悪い商品なども出せます。
6. RANK (ランク)
機能: 数値の順位を求める
数式: =RANK(数,範囲,順序)
備考: 順序の引数は省略可です。(省略した場合は、大きい順から順位が表示されます)
使い方: リストの中で順位を求めたいときに使います。
(魔九郎エクセル講習4日目の記事に、使用例があります)
7. VLOOKUP (ブイルックアップ)
機能: 別の表から値を探し出してくる
数式: =VLOOKUP(検索値,範囲,列番号,検索方法)
備考: 表の縦方向から探すので、Vertical(縦)Lookupです。横方向に作られた表の場合は、HLOOKUP(Horizontal:横)になります。
使い方: 品番から、商品マスターを参照して単価を探し出してくる、など。エクセルで見積書や請求書などを作る場合には、必須の関数です。
(参考記事: VLOOKUP関数をマスター!考え方が分かれば難しくない)
8. IF (イフ)
機能: 条件によって処理を分ける
数式: =IF(条件,真の場合,偽の場合)
備考: 順序の引数は省略できます。(省略した場合は、大きい順から順位が表示されます)
使い方: 「70点以上は合格、それ以下は不合格」「来店回数10回以上はゴールド会員」など。他の式と組み合わせることで、さらに効果が発揮されます。
参考例: 先ほどの図(20歳以上は”成年”、以下は”未成年”と表示させています)
9. MOD (モッド)
機能: 割り算の余りを求める
数式: =MOD(数値,除数)
備考: 引数は、セルを参照しても、数値をそのまま入力しても大丈夫です。
使い方: 全体をグループ分けする際などに便利です。意外に応用範囲が広いです。
10. IFERROR (イフエラー)
機能: エラーの時に、別の値に置き換える
数式: =IFERROR(数式,エラーの場合の値)
備考: エラーの場合の値は、数式でも値でも文字でも大丈夫です。
使い方: エラー値を表示させたくない場合に使います。数式にエラーはつきものなので、これを知っておくと表がかなりキレイになります。
11. SUMIF (サムイフ)
機能: 条件に合うものだけを合計する
数式: =SUMIF(検索する範囲,条件,合計する範囲)
備考: 検索条件には、文字だけでなく「○○以上」などの条件式を入れることもできます。
使い方: 特定の品番だけの売上合計を算出するなど。
12. COUNTIF (カウントイフ)
機能: 条件に合うデータの件数を求める
数式: =COUNTIF(検索する範囲,条件)
備考: 検索条件には、文字だけでなく「○○以上」などの条件式を入れることもできます。
使い方: アンケートの集計などに使えます。
(使用例は、状況に応じた4つの数え方記事にあります)
13. MODE (モード)
機能: ある範囲の中で、最も良く出る数値(最頻値)を求める
数式: =MODE(範囲)
備考: 数値以外は計算されません。
使い方: これもアンケートの集計などに使えます。
14. WEEKDAY (ウィークデイ)
機能: 曜日を数値で表します
数式: =WEEKDAY(日付,種類)
備考: 種類を指定することで、日曜始まりか月曜始まりかを指定できます。
使い方: 曜日によって処理を分けたい場合に使います。(土日に色をつけるなど)
(使用例は、「最初の一日だけ入力してスケジュール表を作るテクニック!」記事にあります)
15. REPLACE (リプレイス)
機能: 文字を書き換える
数式: =REPLACE(文字列,開始位置,文字数,置き換える文字)
使い方: 名簿の個人名や住所を隠したい場合に、「○」や「*」などで文字の一部を書き換える際に使います。個人情報の保護に関心が高い昨今、使用頻度が増えている関数です。
(使用例は、「文字列操作関数のすべて」記事にあります)
さらにエクセルを使いこなすための関数
さらにエクセルの機能を引き出すためには、以下の関数も使ってみましょう。「こういう機能がある」ということを知っておくだけでも、エクセルの使い勝手がグンと上がります。
これらの関数を使いこなせれば、「エクセルマスター」と名乗っても良いと思います!
- SUBTOTAL: 合計の間に、小計を挟み込む
- YEAR / MONTH / DAY: 日付から、年、月、日を取り出す(使用例)
- LEN: 文字数を教えてくれる
- LEFT / RIGHT / MID: 文字の一部を切り取ることができる(文字列関数のすべて)
- PHONETIC: 文字のよみがなを表示させる
- STDEVP: 標準偏差を求める
- EOMONTH: 月末の日付を求める(日付にまとわるエトセトラ)
- ASC / JIS:文字を全角にしたり、半角にしたりする
- FIND: 文字列の中で、特定の文字の位置を求める
- UPPER / LOWER / PRROPER: 英文字を大文字にしたり、小文字にしたりする
- OFFSET: 指定した行、列分離れたセルを求める
業種によっては、これらの関数が必須になってくることもあります。
エクセルで請求書を管理する場合には、EOMONTHは必須です。月末締めの日付を、エクセルが計算してくれます。
学校や塾の先生には、STDEVPが必須ですよね。偏差値を求めるためには標準偏差が必要です。意外とビジネスにもいろいろ活用できますので、使い方はこちらの記事をご覧下さい)
在庫管理をされている方は、少し難しいですがOFFSET関数を知っておいた方が良いです。在庫管理での関数の応用方法は、「エクセルで在庫管理をする方法」記事をご覧ください。
他にも、その業種特有の関数はあると思いますが、ほとんどの方はこれだけ使いこなせれば、ほとんどの業務に対応できるはずです。
なお、関数を20個以上使いこなせる方で、マクロの使い方が分からない方は、ぜひマクロ(VBA)にチャレンジしてください。エクセルの機能を、さらに引き出すことができます。
関連記事: 私のマクロに対する考え方
いきなり全部の関数を使いこなすのは大変なので、あせらず一つ一つ使っていっていただければと思います。エクセルの使い方の幅が広がりますよ!
[…] (もっと詳しく関数について知りたい方は、素牛庵の記事をご覧ください) […]
きょう先生に
=sum(———-)-max(——–)+min(———-)
この関数をsum.max.min 使わないで求められるっていってたのですか、全くわかりません。
そういう関数はあるんですか?
私もすぐには思いつきませんが、あまり凝った関数を使わなくても良いと思います。
(並べ替えして、一番上と一番下を除外して計算、とかはできますが。)
逆に凝った関数を使うと、他の人が見たときに分からなくなるので、
その辺のバランスも考えながら関数を使うことが重要だと私は考えています。