• 2024/08/01 更新

Excelで「必ず覚えておくべき」たった14の関数、COUNTIFやXLOOKUPなど

連載:今日から使えるExcel最強活用術

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
5
会員になると、いいね!でマイページに保存できます。
Excel関数を使用すると、手作業とは比較にならないほど速く、正確にあらゆる計算を処理できます。作業効率や正確性を向上させるうえで、関数の使用は必須です。とはいえ、Excelには無数の関数が用意されているので、そのすべてを覚えることはできません。まずは基本の関数を習得し、続いて、業務の内容に合わせて必要な関数を習得することをお勧めします。この記事では、必ず覚えておくべき基本の関数14種類を解説します。(「Excel厳選ショートカットキー」一覧PDFもビジネス+IT(記事末尾)で提供中)
本記事は『Excel 最強の教科書[完全版]【2nd Edition】』の内容を一部再構成したものです。

▼この記事をマンガ動画でご覧いただけます▼

基本の関数はたったの14種類

 Excelには、あらゆる計算に対応したさまざまな関数が多数用意されていますが、すべての人がすべての関数を覚える必要などまったくありません。多くの関数は、大半の人にとっては使用頻度の低い関数だと思います。Excelの関数は「必要になったときに、必要な関数の使い方のみを調べて使う」が鉄則です。まずはこの基本的なスタンスを覚えておいてください。

 一方で、職種や業務内容に関わらず、全員に絶対に覚えておいてほしい関数もあります。その数はたったの14種類だけですが、この14種類の関数は非常に使い勝手が良く、汎用性も高い関数なので、ぜひ本稿を読んできちんと使えるようになってください。

●絶対に覚えておいてほしい14の関数
関数名 概要
SUM 合計値
MAX、MIN 最大値・最小値
ROUND 四捨五入
IFERROR エラー時の表示切替
IF 条件判定
IFS 複数条件判定
SUMIF 条件を指定して合計
SUMIFS 複数条件で合計
COUNTIF 条件を満たす値の数
COUNTIFS 複数条件を満たす数
VLOOKUP 値の検索・表示
XLOOKUP 値の検索・表示
EOMONTH 月末などの日付計算

 次項から、14種類の関数をひとつずつ解説していきます。

合計するなら─SUM関数

 SUM関数は、指定したセル範囲の合計を求める関数です。Excelの代表的な関数なので、知っている人も多いと思います。SUM関数の基本的な書式は次の通りです。

=SUM(セル範囲)

 合計を表示したいセルに「=SUM()」と入力して、カッコ内に計算対象のセル範囲を指定します(関数に指定するセル範囲や条件のことを「引数(ひきすう)」といいます)。

 セル範囲をマウスでドラッグすると「A1:A3」のように、セル範囲の開始と終端のセル番地を「:」(コロン)でつないだ形式で引数のセル範囲が入力されます(範囲指定方式)。

 また、複数のセルを個別に指定したい場合は、Ctrlキーを押しながら対象のセルを順番にクリックします。すると、「A1, A3」のように、個別のセル番地が「,」(カンマ)で区切られて入力されます(個別指定方式)。セル番地やコロン、カンマはキーボードから直接入力してもかまいません。セル範囲を指定後、Enterキーを押すと合計値が表示されます。

画像
計算対象のセル範囲の指定方法には「範囲指定方式」と「個別指定方式」の2種類がある

異常値を見つけ出す最も簡単な方法─MAX関数、MIN関数

 特定のセル範囲内から最大値を求める場合はMAX関数、最小値を求める場合はMIN関数を使用します。

=MAX(セル範囲) =MIN(セル範囲)

 MAX関数、MIN関数ともに、「A1:A10」のように範囲の先頭セルと終端セルを「:」(コロン)でつないで指定する範囲指定方式と、「A1,A5」のように個々のセル範囲を「,」(カンマ)で区切って列記する個別指定方式の両方の方式でセル範囲を指定できます。また、併用も可能です。

画像
MAX/MIN関数を利用して最大値/最小値を算出した

 MAX関数、MIN関数には、直接数値を指定することも可能です。たとえば「=MAX(A1,100)」を指定すると、セルA1の値と「100」のうち、大きいほうの値が表示されます。つまり、直接指定した数値を下限(この場合は100)としたうえで、最大値を求められるということです。

あり得ない数値を正常値に変換する─ROUND関数

 財務諸表にある商品数、価格、店舗数、人数などの値に小数点が付くことは絶対にありません。みなさんが扱っているデータの中にも「小数点が付くことのない値」があるのではないでしょうか。

 しかし、そういった値に対して「前年比1.5倍」や「70% OFF」のような試算を行うと、結果的に小数値になってしまうことがあります。そのような場合はROUND関数を使用して値を任意の桁数に四捨五入します。

=ROUND(セル範囲,桁数)

 「セル範囲」には四捨五入を行う対象のセル範囲を指定します。計算式を指定することも可能です。また、「桁数」には小数点以下の桁数を指定します。小数第1位までなら「1」、小数第2位までなら「2」、小数点以下を四捨五入するなら「0」を指定します。

 次の例では、小数点の出る計算結果を、ROUND関数を利用して「0桁目」に収まるように四捨五入しています。元の式をそのままROUND関数の1番目の引数に指定し、桁数には「0」を指定している点に注目してください。

画像
ROUND関数で小数点以下を四捨五入する。端数の出る元の式を1番目の引数に指定し、桁数を2番目の引数に指定する。切り捨て・切り上げを行う関数には、ROUNDDOWN関数、ROUNDUP関数などもある

エラー時の表示内容を変更する─IFERROR関数

 関数や数式によっては、データの未入力が原因でエラーになる場合があります。

 たとえば、経費と販売数の実績表から1台あたりの経費を算出するには「経費÷販売数」を計算しますが、「販売数」のセルが未入力(空白)の状態だとセルに「#DIV/0!」(ゼロ除算エラー)が表示されます。

 閲覧者全員がExcelの操作に慣れている場合は、このままでも良いかもしれませんが、Excelに不慣れな人も閲覧する場合は、Excelのエラー表示のままでは不親切です。このような場合は、IFERROR関数を使用して、一般的にわかりやすいエラー表示に変更することをお勧めします。

=IFERROR(セル範囲,エラー時に表示する文字)

 「セル範囲」には、エラーになる可能性があるセル範囲(数式を含む)を指定します。次の例では、IFERROR関数を使用して、エラー時には「要確認」と表示するように変更しています。E列の元の式を関数の1番目の引数に指定し、エラー時に表示する文字を2番目の引数に指定している点に注目してください。

画像
IFERROR関数でエラー時に表示する値を設定した。第1引数の計算に問題がなければそのまま計算結果が表示され、エラー時には第2引数に指定した文字列が表示される

計算結果によって表示内容を変更する(1)─IF関数

 「年齢が20歳以上」「居住地が東京」といった“条件”に応じてセルに表示する値を切り替えたい場合は、IF関数を利用します。IF関数は、指定した論理式の計算結果に応じて、2通りの表示内容のうちのいずれかをセルに表示する関数です。

=IF(論理式, TRUEの場合の表示内容, FALSEの場合の表示内容)

 IF関数を使用する際のポイントは「論理式」です。論理式とは「=」や「<」「>」といった比較を行うための記号(演算子)を使った、いわば問いかけです。

 たとえば、「A1=10」という論理式は、「セルA1の値と数値10は等しいか」という問いかけです。この式が成立する場合、つまりセルA1の値が10の場合、計算結果は「TRUE」(正しい)となり、IF関数は第2引数に指定されている「TRUEの場合の表示内容」を表示します。

 一方、セルA1の値が10ではない場合、計算結果は「FALSE」(正しくない)となり、IF関数は第3引数に指定されている「FALSEの場合の表示内容」を表示します。

 論理式に指定できる比較演算子は次の通りです。どのような場合にTRUEになるのかも併せて確認してください。

画像
「=」(等号)や「>」「<」(不等号)などの演算子を組み合わせることで、さまざまな論理式を作成できる。論理式を満たす場合は「TRUE」、満たさない場合は「FALSE」になる

計算結果によって表示内容を変更する(2)─IFS関数

 2つ以上の複数の条件を同時に満たすか否かをチェックする方法には、次の2種類があります。

  • IF関数を入れ子にする
  • IFS関数を使う

 IF関数を入れ子にすれば、複数の条件を同時に指定することができます。しかし、この方法には「式が複雑になる」というデメリットがあります。

 IF関数のこのデメリットを解消すべく、Excel 2019で新機能として「IFS関数」が追加されました。IFS関数を使うと、複数の条件を簡単な論理式で指定できます。関数の記述はシンプルであるほうが、後々のメンテナンスが容易になりますし、他の人に提供する際にも使い勝手がよくなるので、チーム全体がExcel 2019以降を利用している場合は、IFS関数の利用をお勧めします。

 IFS 関数は次のようにして使います。

=IFS(式1, 式1がTRUEの場合の表示内容, 式2,
式②がTRUEの場合の表示内容, FALSEの場合の表示内容)

 IFS関数では、複数の条件が指定されている場合、左側に記載されている条件からチェックしていき、最初にTRUEになった時点で、その条件に対応する表示内容を表示します。

 それでは、IFS関数を使って、次の条件を判定してみましょう。

  • 値が0以上、100以下(-1 < 値 < 101)の場合は「OK」を表示
  • 値が0より小さい場合は「under」を表示
  • 値が100より大きい場合は「over」を表示

 上記の条件をIFS関数で指定すると以下のように記述できます。

画像
IFS関数を利用すると、複数の条件を満たす式をシンプルに記述できる。これと同じ条件をIF関数で実現するには、IF関数を入れ子(ネスト)にして使用する必要がある。IFS関数とIF関数のそれぞれの特徴を把握したうえで、使い分けよう。

 なお、IFS関数では、指定した条件の中にTRUEが見つからない場合、「#N/A」エラーを表示します。このエラーが表示されると、その表を確認している人にとっては、何が悪くてエラーになっているのか判別できないので、必ず、いずれかの条件に該当するように、条件を指定するようにしてください。

 ここで紹介したIFS関数は、新機能だけあってとても便利です。そのため、Excel 2019やExcel 2021、および最新のMicrosoft 365を使っている人には、ぜひとも使ってほしい機能です。しかし、注意点もあります。最新の関数を使ったブックを、それ以前の古いExcelで開くと計算エラーになる場合があるため、例えば、クライアントが古いExcelバージョンを使っているような場合に、最新の関数を使ったブックを送ると、先方が見られなかったり、エラーになったりする可能性があります。作成するブックを誰が使うのか、そのメンバーが使用しているExcelのバージョンは何かを事前に把握しておくことが重要です。

日次の売上を月別に集計する─SUMIF関数

 販売管理や在庫管理、商品企画などを行っていると、売上ごとや日次で上がっているデータ一覧を使って、週別や月別といった、ある程度まとまった期間の合計値を算出したい場合があると思います。

 このような場合に便利なのがSUMIF関数です。SUMIF関数は、その名の通り、SUM関数とIF関数を組み合わせたような関数なのですが、この関数を使用すると、特定の条件を満たす値のみを対象にして合計値を算出することができます。たとえば、「6月の販売数」「東京での売上金額」「店舗別の売上金額」などを簡単に集計できます。

 SUMIF関数の書式は次の通りです。合計範囲は省略できます。

=SUMIF(範囲,検索条件[,合計範囲])

 第1引数の「範囲」には「どのセル範囲を対象に条件判定を行うか」を指定します。また、第2引数には検索条件を指定します。そして、第3引数には集計対象のデータの範囲を指定します。具体例を見てみましょう。たとえば、次のようなSUMIF関数を指定した場合について考えてみます。

=SUMIF(C5:C12, G6, D5:D12)

 上記の例では、セルG6(検索条件)と、セル範囲C5:C12の値を順番に比較し、条件を満たす場合(比較結果がTRUEの場合)のみ、セル範囲D5:D12のうちの対応する値(同じ行のデータ)を合計して表示します。

 下図の例では、セル範囲C5:C12のうち、値がセルG6(数値の8)と等しい行のみを対象に、セル範囲D5:D12のうちの対応する値のみを合計しています。

画像
一覧表形式のデータを元に、SUMIF 関数を利用して、8月、9月、10月の販売数の合計を計算した。「月度」列の値をチェックして、それぞれの月に対応する行の「販売数」のみを対象に合計が行われている

 SUMIF関数の3つめの引数である合計範囲は省略可能です。省略した場合は1つめの引数に指定したセル範囲に入力されている値が合計の対象になります。

複数の条件に合致するデータのみを集計する─SUMIFS関数

 データ集計やデータ分析、マーケティング・リサーチなどの業務において、SUMIFS関数は最も重要な関数の1つです。この関数を使いこなせるようになると、データの集計作業が格段に速くなります。

 SUMIFS関数を使用すると、複数の条件を満たす値のみを合計することができます。前項で解説したSUMIF関数では「合計範囲を絞り込むための条件式」は1つしか指定できませんが、SUMIFS関数では最大127個まで指定可能です。このことから、SUMIFS関数は、SUMIF関数の上位関数ともいえます。

=SUMIFS(合計対象範囲,条件範囲1,条件1,条件範囲2,条件2……)

 SUMIFS関数の数式は長くなりがちなので、一見難しそうに見えますが、構造はいたってシンプルです。なので、順番に1つずつ指定していけば大丈夫です。実際に指定する際は、最初に1つめの引数である合計対象範囲(合計を求めたいセル範囲)を指定し、そのうえで、条件範囲と条件をペアで指定していきます。条件判定の数だけ、条件範囲と条件のペアを指定すれば完成です。SUMIFS関数の実際の指定順序を見てみましょう。


全アンケート回答者から男女の数を算出する─COUNTIF関数

 「男性/女性」「出席/欠席」のように、限られた種類の値しか持たないセルの数をカウントしたい場合は、COUNTIF関数を使用します。COUNTIF関数は、特定の条件を満たすセルの数をカウントする関数です。

=COUNTIF(範囲,検索条件)

 「範囲」には処理対象のセル範囲(どのセル範囲をカウント対象にするか)を指定します。また、「検索条件」にはデータをカウントするための条件を指定します。

 下図のような出欠確認表から、出席者や欠席者の数をカウントするには、COUNTIF関数に次のような引数を指定します。

=COUNTIF(C5:C12,E4)──出席者数のカウント
=COUNTIF(C5:C12,E5)──欠席者数のカウント

画像
COUNTIF関数を利用して、セル範囲C5:C12の「出欠」列の値が、セルE4の値である「出席」と等しいデータの個数をカウントした。「欠席」のデータ数も同じようにカウント可能

画像
COUNTBLANK関数で未入力のセルの数をカウントする
 上記の例にある「未確認」のような、空白セル(何も入力されていないセル)の数をカウントするには、COUNTBLANK関数を使用します。上記の例では、「未確認」のセル数をカウントするために、セルF6に「=COUNTBLANK(C5:C12)」を入力しています。

 なお、COUNTIF関数で空白セルの数もカウントしたい場合は「=COUNTIF(C5:C12,"")」のように、2番目の引数に「""」(空白文字列)を指定します。

複数の条件を満たすデータ件数を数える─COUNTIFS関数

 複数の条件を満たすセルの数をカウントするには、COUNTIFS関数を使用します。この関数を使用すると、COUNTIF関数では1つしか指定できなかった「カウント対象を絞り込むための条件」を最大127個まで指定できます。このことから、COUNTIFS関数はCOUNTIF関数の上位関数ともいえます。

=COUNTIFS(検索条件範囲1,検索条件1,検索条件範囲2,検索条件2……)

 それでは実際にCOUNTIFS関数を記述してみましょう。対象店舗が「東京本店」の商品別の販売数を求める方法を紹介します。ポイントは「セル範囲と条件式のペアを順番に指定する」です。そのため、COUNTIFS関数の引数の数は基本的に偶数個になります。このことは覚えておいてください。


製品番号から製品名と製品金額を抽出する─VLOOKUP関数

 見積書に商品情報を入力する際に、型番や商品IDを入力したら自動的に商品名や価格が表示される仕組みを用意しておくと便利です。このような仕組みのことを「表引き」といいます。


 VLOOKUP関数を使用すると、上記の見積書のような表引きの仕組みを実現できます。

=VLOOKUP(検索値,範囲,列番号,FALSE)

 1つめの引数「検索値」には検索キーを指定します。商品ID などです。2つめの引数「範囲」には、マスターデータが入力されているセル範囲を指定します。そして、3つめの引数「列番号」には「マスターデータの何列目の値を表示するのか」を指定します。4つめの引数にはデータの検索方法を指定できるのですが、通常の表引きでは「FALSE」を指定しておけば問題ありません。

 説明文だけではわかりづらいので具体例を見てみましょう。下図では、セルB5に入力された値(商品ID)を検索キーとして、マスターデータ(セル範囲B13:D17)を検索し、対応する商品名(2列目)と単価(3列目)を表引きしています。

画像
マスターデータは、1列目に検索キーを配置する

マスターデータから目的のデータを抽出する─XLOOKUP関数

 ここでは、Excel 2021、および最新のMicrosoft 365で使用できる、XLOOKUP関数を紹介します。

 前項で紹介したVLOOKUP関数を使用すると、マスターデータに登録されている製品IDをもとにして、商品名や単価を抽出することができます。これは非常に便利な機能です。この機能を上手に活用すれば、商品名や単価の入力ミスを未然に防ぐことができます。

 しかし、VLOOKUP関数には不便な点がありました。それは「VLOOKUP関数では左端の列しか検索できない」という制約がある点です。例えば、前項で解説した商品マスターの場合、VLOOKUP関数で検索できるのは、商品マスターの左端に記載されている「ID」のみです。商品名で検索することはできません。

 この、VLOOKUP関数の不便さを解消すべく、Excel 2021で新たに追加されたのが「XLOOKUP関数」です。XLOOKUP関数を使用すると、検索範囲に含まれるすべての列を検索対象に指定できます。上記の例のケースでは、商品名からIDを抽出することもできるということです。

 XLOOKUP関数は、以下のようにして使用します。

=XLOOKUP(検索値, 検索範囲, 戻り範囲)

 1つめの引数「検索値」には検索キーを指定します。商品IDや商品名など、マスター表の中で重複値がない項目を指定してください。単価は他の商品に同じ価格のものが存在する可能性があるので、検索キーとしては不適切です。

 2つめの引数「検索範囲」には「マスターデータの中で検索対象となる範囲」を指定します。

 3つめの引数「戻り範囲」には「抽出したい値の範囲」を指定します。2つめの引数「検索範囲」と、3つのめの引数「戻り範囲」が、XLOOKUP関数を使いこなすうえでポイントとなる引数です。

 例えば、上記の商品マスターにおいて、商品名からIDを抽出する場合は、以下のように指定します。

=XLOOKUP(C5, C14:C17, B14:B17)

画像
見積計算表に入力された商品名(メモパッド)を検索キーとして、商品マスターを検索し、ID「B001」を表示している。

請求書に翌月末日を自動的に入力する─EOMONTH関数

 取引先への請求は「契約成立当月の月末払い」「翌月末払い」「翌々月末払い」などで行うことが多いと思います。この「月末」の日付はEOMONTH関数を使用すると簡単に表示できます。

=EOMONTH(開始日,月数)

 EOMONTH関数は、1つめの引数に「起算の開始日」を指定し、2つめの引数に「開始日から何か月後の月末日を求めるか」を月数で指定します。「0」を指定すると当月の月末、「-1」を指定すると先月の月末が表示されます。

 下図では、セルF2に入力されている請求日(開始日)を元にして、翌月末の日付を算出しています。年をまたぐ場合でも、正確に計算されていることが確認できます。

画像
なお、EOMONTH関数を記入するセルには日付形式の書式を設定してください。また、請求日も入力する場合は、記載場所によって表示形式がバラバラにならないよう、書式を統一しておくことも重要です
Excel「厳選ショートカットキー」一覧PDFはこちらから


■本稿の対応バージョン
本稿はExcel 2021/2019/2016/2013に対応しています。ただし、記載内容には一部、全バージョンに対応していないものもあります。また、本稿では主にWindows 版のExcel 2021の画面を用いて解説しています。そのため、ご利用のExcelやOS のバージョン・種類によっては項目の位置などに若干の差異がある場合があります。ご注意ください。

評価する

いいね!でぜひ著者を応援してください

  • 5

会員になると、いいね!でマイページに保存できます。

共有する

  • 1

  • 11

  • 1

  • 0

  • 104

  • 6

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
関連タグ タグをフォローすると最新情報が表示されます

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます