業務に関連する関数から覚えよう
普段からExcelを利用していても、関数は苦手という人も多いでしょう。特に、複数の「引数」(ひきすう)が必要になる関数は、とっつきにくいと感じてしまいますよね。
仕事でExcelを使うなら関数を利用した作業は欠かせませんが、すべての関数を覚えなくても大丈夫です。一般的な事務処理は次のように分類でき、はじめに覚えるべき関数は20個程度で十分といえます。
- データの集計 ... データの合計やカウント、最大値・最小値の取得などの処理
- 文字列操作 ... 文字列を分割したり、連結したりする処理
- データの抽出 ... ある値に対応するデータを取り出すような処理
- 日時の処理 ... ○日後の日付を求めたり、日数を数えたりする処理
- 条件分岐 ... 「もし~なら」の条件で計算を振り分ける処理
そこで本記事では、Excelを使い始めたばかりの人が覚えておきたい関数をまとめました。以下の目次に記載した10種類を順に解説するので、自分の業務に関係のあるものから、ぜひマスターしていってください。
- 目次
-
- データの合計・平均・カウントはSUM / AVERAGE / COUNTA関数
- 条件を満たすデータを数えるCOUNTIFS関数
- 条件を満たすデータを合計するSUMIFS関数
- 数値の端数を処理するROUND / ROUNDDOWN / ROUNDUP関数
- 文字列の一部取り出すLEFT / RIGHT / MID関数
- 文字列を連結するCONCAT / TEXTJOIN関数
- 表引きの定番VLOOKUP / XLOOKUP関数
- 日付の形式に整えるDATE / YEAR / MONTH / DAY関数
- 「○営業日後」はWORKDAY関数、期間の日数はNETWORKDAYS関数
- 「もし~なら」の条件分岐はIF / IFS関数
データの合計・平均・カウントはSUM / AVERAGE / COUNTA関数
SUM関数は使ったことのある人が多いでしょう。指定したセル範囲に含まれる数値を合計します。利用頻度が高いので、[Shift]+[Alt]+[=]のショートカットキーも覚えておくと便利です。
=SUM
(数値1, 数値2, ... , 数値255)
- [数値] ... 合計する数値やセル範囲を指定します。
セルB2~D2を合計するために、セルE2に「=SUM(B2:D2)」と入力しています。
数値の平均を求めたいときに「合計値÷総数」の数式を入力していませんか? 列や行を挿入・削除にも対応できるAVERAGE関数が圧倒的に便利です。
=AVERAGE
(数値1, 数値2, ... , 数値255)
- [数値] ... 平均する数値やセル範囲を指定します。
セルB2~D2を平均するために、セルE2に「=AVERAGE(B2:D2)」と入力しています。
データの個数を数えるときはCOUNTA関数を使います。関数名を考えると、COUNT関数では? と思うかもしれませんが、COUNT関数で数えられるのは数値のみです。
=COUNTA
(値1, 値2, ... , 値255)
- [値] ... 個数を数える値やセル範囲を指定します。
人数を数えるために、セルI1に「=COUNTA(A2:A72)」と入力しています。
条件を満たすデータを数えるCOUNTIFS関数
ある条件に一致するデータだけを数えることがありますよね。専用の関数として、COUNTIF関数とCOUNTIFS関数の2つが用意されています。
条件が1つのときはCOUNTIF関数、2つ以上のときはCOUNTIFS関数と使い分けても構いませんが、COUNTIFS関数に条件を1つ指定したときは、COUNTIF関数と同じ結果になります。
=COUNTIFS
(範囲1, 検索条件1, 範囲2, 検索条件2, ..., 範囲127, 検索条件127)
- [範囲] ... 検索対象のセルやセル範囲を指定します。
- [検索条件] ... [範囲]から検索する条件を指定します。
会員種別が「シルバー」の人数を数えるために、セルF1に「=COUNTIFS(C2:C72,"シルバー")」と入力しています。
会員種別が「シルバー」、かつ来店回数が14回以上の人数を数えるために、セルF2に「=COUNTIFS(C2:C72,"シルバー",B2:B72,">=14")」と入力しています。
条件を満たすデータを合計するSUMIFS関数
条件を指定して数値を合計する関数ももちろんあります。SUMIFS関数です。COUNTIFS関数と同様に「S」なしのSUMIFS関数もありますが、条件を1つ指定して合計するときもSUMIFS関数で処理できます。
=SUMIFS
(合計対象範囲, 検索範囲1, 条件1, 検索範囲2, 条件2, ... , 検索範囲127, 条件127)
- [合計対象範囲] ... 合計する数値が入力されているセル範囲を指定します。
- [条件範囲] ... 検索対象のセル範囲を指定します。
- [条件] ... [条件範囲]から検索する条件を指定します。
開催地が「池袋」のセミナーの参加者数を合計するために、セルF1に「=SUMIFS(F5:F29,E5:E29,"池袋")」と入力しています。
開催地が「池袋」、かつ参加費が3,500円以上の参加者数を数えるために、セルF2に「=SUMIFS(F5:F29,E5:E29,"池袋",D5:D29,">=3500")」と入力しています。
数値の端数を処理するROUND / ROUNDDOWN / ROUNDUP関数
小数点以下の四捨五入、千円以下の切り捨てなど、数値を丸める処理はよくあります。ROUND / ROUNDDOWN / ROUNDUP関数を利用しましょう。利用頻度の高い四捨五入はROUND関数、切り捨てはROUNDDOWN関数、切り上げはROUNDUP関数を使います。
=ROUND
(数値, 桁数)
=ROUNDDOWN
(数値, 桁数)
=ROUNDUP
(数値, 桁数)
- [数値] ... 処理したい元の数値を指定します。
- [桁数] ... どの桁まで求めるのかを整数で指定します。
スコアの平均値の小数点第2位を四捨五入するために、セルB5「=ROUND(B4,1)」と入力しています。小数点以下を四捨五入するときは「=ROUND(B4,0)」とします。
文字列の一部取り出すLEFT / RIGHT / MID関数
商品コードの一部や住所の都道府県名など、ある文字列から一部を取り出したいことがありますよね。文字列操作の基本の関数として、指定した文字数分を左から取り出すLEFT関数、右から取り出すRIGHT、指定した位置と文字数を取り出すMID関数を覚えておきましょう。
=LEFT
(文字列, 文字数)
=RIGHT
(文字列, 文字数)
- [文字列] ... 処理したい文字列を指定します。
- [文字数] ... 取り出す文字数を指定します。省略すると「1」が指定されたとみなします。
=MID
(文字列, 開始位置, 文字数)
- [文字列] ... 処理したい文字列を指定します。
- [開始位置] ... [文字列]の先頭を「1」として、取り出す位置を指定します。
- [文字数] ... 取り出す文字数を指定します。[文字列]の長さを超える[文字数]を指定すると末尾まで取り出されます。
LEFT / RIGHT / MID関数を利用して、商品コードの一部を取り出しています。セルB2には「=LEFT(A2,4)」、セルC2には「=MID(A2,6,5)」、セルD2には「=RIGHT(A2,2)」と入力してあります。なお、「-」の位置が固定されていないときは、FIND関数とLEN関数を組み合わせます。
文字列を連結するCONCAT / TEXTJOIN関数
別々のセルに入力された文字列を連結する方法も覚えておきましょう。文字列の連結は「セル番地 & セル番地」のように「&」演算子を利用する方法が広く知られていますが、CONCAT関数とTEXTJOIN関数も覚えておきましょう。
CONCAT
(文字列1,文字列2,・・・,文字列253)
- [文字列] ... 連結する文字列かセルを指定します。
CONCAT関数は連続したセル範囲をまとめて連結できるのが特徴です。セルD2には「=CONCAT(A2:C2)」と入力しています。
TEXTJOIN
(区切り記号, 空の文字列を無視, 文字列1, 文字列2, ..., 文字列252)
- [文字列] ... 連結時に挟む文字列を指定します。
- [空の文字列を無視] ... [文字列]に空の文字列がある場合、TRUEは無視、FALSEは空の文字列も結合して区切り記号を挿入します。
- [文字列] ... 結合する文字列かセルを指定します。
「-」などの区切り文字を挟みながら連結したいときは、TEXTJOIN関数が便利です。
TEXTJOIN関数は「-」などの区切り文字を挟みながら連結したいときに使います。セルD2には「=TEXTJOIN("-",TRUE,A2:C2)」と入力しています。
表引きの定番VLOOKUP / XLOOKUP関数
Excel関数を使ううえで、ひとつのゴールと言われるのがVLOOKUP関数です。あるデータに対応する値を取り出す働きがあります。例えば、商品IDから商品名を取り出す、顧客名から住所を取り出すなどは、よくある処理ですよね。あっという間に必要な情報を取り出せます。
=VLOOKUP
(検索値, 範囲, 列番号, 検索の型)
- [検索値] ... 検索する値を指定します。
- [範囲] ... 検索するセル範囲を指定します。
- [列番号] ... [範囲]の先頭列から数えた列数を指定します。
- [検索方法] ... 検索方法を完全一致(TRUE)か近似一致(FALSE)で指定します。
商品IDから商品名を取り出すために、セルB2に「=VLOOKUP(A2,A6:C16,2,FALSE)」と入力してあります。単価を取り出す数式は「=VLOOKUP(A2,A6:C16,3,FALSE)」です。
Excel 2021 / 2019、Microsoft 365のExcelをお使いの場合は、XLOOKUP関数も便利です。本稿執筆時点では、互換性を考慮してVLOOKUP関数が使われることが多いですが、将来的にはXLOOKUP関数を利用する機会が増えるでしょう。利用できるバージョンであれば、今から慣れておいて損はありません。
6つの引数のうち、[検索値][検索範囲][戻り値の範囲]の3つのみでXLOOKUP関数は動作します。[見つからない場合][一致モード][検索モード]は省略して構いません。VLOOKUP関数よりも使いやすそうに思えませんか?
=XLOOKUP
(検索値, 検索範囲, 戻り値の範囲, 見つからない場合, 一致モード, 検索モード)
- [検索値] ... 検索する値を指定します。
- [検索範囲] ... 検索するセル範囲を指定します。
- [戻り値の範囲] ... [検索値]が[検索範囲]の中で見つかった場合、[戻り値の範囲]のその位置にある値が返されます。
- [見つからない場合] ... [検索値]が[検索範囲]の中に見つからなかった場合に返す値を指定します。省略して見つからなかった場合は[#N/A]エラーが返されます。
- [一致モード] ... 完全一致(TRUE)か近似一致(FALSE)で検索するかを指定します。省略すると完全一致(TRUE)とみなされます。
- [検索モード] ... 検索方向を指定します。省略すると先頭から末尾へ検索します。
商品名から商品IDを取り出す例です。セルB2に「=XLOOKUP(A2,B6:B16,A6:A16)」と入力してあります。XLOOKUP関数は検索対象の列より左にある値も取り出せます。
日付の形式に整えるDATE / YEAR / MONTH / DAY関数
日付を操作する基本的な関数がYEAR関数、MONTH関数、DAY関数の3つです。それぞれ、日付から「年」「月」「日」を取り出します。また、3つの数値からシリアル値を求めるDATE関数もあわせて覚えておきましょう。
例えば、ある日付から「年」と「月」を取り出して、「日」に該当する数値「20」と組み合わせると、翌月20日の日付を簡単に求められます。
=YEAR
(シリアル値)
=MONTH
(シリアル値)
=DAY
(シリアル値)
- [シリアル値] ... 日付をシリアル値か文字列で指定します。
=DATE
(年, 月, 日)
- [年] ... 「年」に該当する数値を指定します。
- [月] ... 「月」に該当する数値を指定します。
- [日] ... 「日]に該当する数値を指定します。
日付から「年」「月」「日」を取り出しています。セルB2~D2に入力されている数式はそれぞれ「=YEAR(A2)」「=MONTH(A2)」「=DAY(A2)」です。「年」の数値、「月」の数値+1、「20」をDATE関数の引数として指定すると、翌月20日の日付が求められます。セルE2の数式は「=DATE(B2,C2+1,20)」となります。
「○営業日後」はWORKDAY関数、期間の日数はNETWORKDAYS関数
土日と祝日を除いて「○営業日後」を求めたいことはよくあります。WORKDAY関数を利用しましょう。営業日(ワークデイ)を数えるので覚えやすいですよね。
=WORKDAY
(開始日, 日数, 祭日)
- [開始日] ... 計算の基準とする日付を指定します。
- [日数] ... 加算したい日数を指定します。
- [祭日] ... 休日のリストを指定します。
セルF9に入力された日付から14営業日後の日付を求めます。土日と休日リストの日付を除いた結果が表示されます。セルF10には「=WORKDAY(F9,14,H4:H20)」と入力してあります。
ある期間の日数を求めるときはNETWORKDAYS関数を使います。WORKDAY関数と同様、土日と休日リストの日付が除かれます。
=NETWORKDAS
(開始日, 終了日, 祭日)
- [開始日] ... 期間の開始日を指定します。
- [日数] ... 期間の終了日を指定します。
- [祭日] ... 休日のリストを指定します。
発注見込みの日付と納品予定日に含まれる日数を求めます。土日と休日リストの日付が除かれて計算されます。セルI24の数式は「=NETWORKDAYS(I22,I23,H4:H20)」です。
「もし~なら」の条件分岐はIF / IFS関数
「もし~なら」の条件を指定して、その後の処理を振り分けるときはIF関数が定番です。「合格」「不合格」などの文字列を表示するほか、数式の結果がエラーなら空白を表示、エラーでなければ数式の結果を表示するなど、さまざまなシーンで活用されます。
=IF
(論理式, 真の場合, 偽の場合)
- [論理式] ... 条件を判定する論理式を指定します。
- [真の場合] ... 条件を満たす場合の値を指定します。
- [偽の場合] ... 条件を満たさない場合の値を指定します。
ある製品の評価試験の結果から、80点以上で「合格」、60点以上で「再検査」、60点未満(59点以下)で「不合格」を表示しています。セルC2の数式は「=IF(B2>=80,"合格",IF(B2>=60,"再検査","不合格"))」です。
4つ以上の条件など、複雑な判定をするときはIFS関数が便利です。条件と結果の組み合わせを数式の左から並べるだけなので、IF関数を複数ネストするよりも扱いやすいでしょう。
=IFS
(論理式1, 真の場合1, 論理式2, 真の場合2, ... , 論理式127, 真の場合127)
- [論理式] ... 条件を判定する論理式を指定します。
- [真の場合] ... 条件を満たす場合の値を指定します。
先ほどの評価試験の結果に条件を加えています。80点以上で「合格」、70点以上で「再検査」、60点以上で「要報告」、それ以外は「不合格」と表示します。セルC2の数式は「=IFS(B2>=80,"合格",B2>=70,"再検査",B2>=60,"要報告",TRUE,"不合格")」です。
関連記事
VLOOKUP関数の使い方
ExcelのVLOOKUP(ブイ・ルックアップ)関数は、表を縦方向に検索し、特定のデータに対応する値を取り出す機能を持ちます。業務の効率化に役立つ関数として人気がありますが、引数の指定方法が複雑という難しさもあります。使い方をあらためて確認しましょう。
COUNTIFS関数の使い方
Excelでデータを数える関数の代表格はCOUNTIF関数ですが、複数条件を指定する必要があるなら、COUNTIFS(カウント・イフス)関数の出番です。基本は「AかつB」のAND条件となりますが、四則演算の組み合わせで「AまたはB」のOR条件にすることも可能です。
XLOOKUP関数の使い方。VLOOKUP関数の後継となる関数をマスターしよう
ExcelのXLOOKUP(エックス・ルックアップ)関数は、「ビジネスに必須」として有名なVLOOKUP関数の後継となる関数です。機能が向上しているだけでなく、より簡単に使えるようになっています。具体的な使い方を見てきましょう。
Excelで平均値を求めるAVERAGE関数と類似関数を総まとめ。条件を指定できるAVERAGEIF / AVERAGEIFSはどう使う?
数値の平均は「数値の合計÷数値の数」の計算式で求められますが、エクセルには平均を求めるための「AVERAGE関数」が用意されています。また、条件を満たす値の平均には、AVERAGEIF関数やAVERAGEIFS関数を利用できます。まとめて覚えておきましょう。
Excelで2024年のカレンダーを作る3つの方法。テンプレート2種と数式での自作を使い分ける!
エクセルでは、アプリに用意されたテンプレートやマイクロソフト公式のテンプレートを使って、2024年のカレンダーを簡単に作成できます。また、オリジナルのカレンダーも簡単な数式だけで作成できます。それぞれの方法を詳しく紹介します。