先日、後輩から「関数、結局どれを覚えれば仕事に困らなくなりますか?」と聞かれて、答えに詰まりました。
SUM、IF、VLOOKUP……名前を並べることはできても、「これだけ覚えれば大丈夫」と言い切れるほど、実務で使う関数は少なくありません。むしろ、名前は知っているのに、いざ使うと結果が合わない、エラーが出る、なぜか思った通りに動かない——そんな経験のほうが、私自身も含めて圧倒的に多かった気がします。
以前このシリーズの第1回として、実務でよく使う基本の関数を12個ほど紹介しました。ただ、あれから業務の幅が広がるにつれて、「あの記事に載っていない関数で困った」という声を何度かいただくようになりました。COUNTIFSで複数条件を数えたい、XLOOKUPって結局VLOOKUPと何が違うの、日付を扱う関数がよくわからない——寄せられる悩みは、当時想定していたより幅広いものでした。
そこで今回は、記事を大幅に書き直し、実務でよく出会う関数を目的別に整理し直しました。1つずつ丸暗記するのではなく、「今、自分は何をしたいのか」から逆引きできる、いわば関数選びの地図として使ってもらえたらと思います。
関数は「名前」ではなく「目的」で覚える
関数の勉強でつまずきやすいのは、関数名と機能を一対一で丸暗記しようとしてしまうことです。SUMは合計、AVERAGEは平均、と覚えたところで、いざ「条件付きで合計したい」という場面に出会うと、SUMをどう変形すればいいのか分からず手が止まってしまいます。
それよりも、「合計したい」「条件で分けたい」「順位を知りたい」「別の表から探したい」「文字を加工したい」「日付を扱いたい」という目的のカテゴリーを先に押さえておくほうが、実務では圧倒的に応用が利きます。今回はこの目的別の切り口で、基本の関数からやや応用寄りの関数まで、まとめて整理していきます。
1. 集計の土台になる関数:合計・平均・中央値
SUM関数:合計値を求める
指定した範囲のセルの合計を計算する、もっとも基本的な関数です。
=SUM(A1:A10)
A1からA10までの値を足し合わせます。シンプルですが、初心者がよく引っかかるのが「範囲の中に文字列や空白が混ざっていても、そのまま計算してくれる」という点です。一見便利なのですが、これは裏を返せば「本来数値であるべきセルに文字列が紛れ込んでいても、エラーにならず気づきにくい」ということでもあります。
SUM関数についてさらにくわしく知りたい方はこちら。文字列や空白が混ざったときの落とし穴まで、実務目線でまとめています。

AVERAGE関数:平均値を算出する
指定範囲のセルの平均値を計算します。
=AVERAGE(B1:B5)
AVERAGEは「数値が入っているセルの平均」を計算するため、空白セルは無視されますが、0が入力されているセルは平均の対象に含まれます。「未入力」と「0」を同じ感覚で扱ってしまうと、平均値がずれる原因になるので注意が必要です。
AVERAGE関数についてさらにくわしく知りたい方はこちら。AVERAGEIFやMEDIANとの違いも解説しています。

MEDIAN関数:中央値を求める
指定範囲の中央に位置する値を求めます。
=MEDIAN(C1:C8)
平均値だけを見ていると、極端に大きい・小さい数値(外れ値)に引っ張られて実態と合わないことがあります。たとえば給与や査定点数のように、一部だけ突出した値が混ざりやすいデータでは、平均よりも中央値のほうが「実感に近い代表値」になることがよくあります。
2. 条件で「分ける・数える・合計する」関数
IF関数:条件に応じて値を返す
指定した条件によって、返す値を切り替えます。
=IF(D1>10, "合格", "不合格")
D1が10より大きければ「合格」、そうでなければ「不合格」と表示します。IFは単体でも便利ですが、実務でつまずきやすいのは、条件が増えるたびにIFを入れ子(ネスト)にしていき、最終的に数式が何をしているのか誰にも読めなくなってしまうケースです。
このIFのネスト問題については、IF関数のネストが読めなくなる理由と分解のコツという記事で詳しく取り上げていますので、数式が複雑になりすぎて困っている方は参考にしてみてください。

AND関数・OR関数:条件を組み合わせる
複数の条件をまとめて判定したいときに使います。
=IF(AND(E1>=60, F1>=60), "合格", "不合格")
ANDは「すべての条件を満たすときだけTRUE」、ORは「どれか1つでも満たせばTRUE」を返します。IF関数の中にANDやORを組み合わせることで、ネストを増やさずに複数条件を1つの式で表現できるようになります。
COUNTIF関数・COUNTIFS関数:条件に合ったセルの個数を数える
COUNTIFは1つの条件に一致するセルの数を数えます。
=COUNTIF(G1:G20, "合格")
条件が2つ以上になる場合はCOUNTIFSを使います。
=COUNTIFS(G1:G20, "合格", H1:H20, "東京")
COUNTIF・COUNTIFSは「文字列として完全一致しているか」を厳密に見るため、見た目は同じでも半角・全角の違いや余分な空白があると、意図した通りにカウントされないことがあります。
SUMIF関数・SUMIFS関数:条件に合った数値の合計を求める
SUMIFは1つの条件に合致するセルに対応する数値の合計を計算します。
=SUMIF(I1:I10, "合格", J1:J10)
複数条件で合計したい場合はSUMIFSです。
=SUMIFS(K1:K100, I1:I100, "合格", H1:H100, "東京")
SUMIF・SUMIFSでとくに初心者がつまずきやすいのが、「条件を見る範囲」と「合計する範囲」の行数がズレてしまうケースです。エラーは出ないのに集計結果だけがおかしい、という”静かな間違い”が起きやすい関数でもあります。
このあたりの実例は、SUMIFSで数字が合わない原因と対処法という記事で、範囲のズレ・文字のズレ・数値形式のズレという3パターンに分けて詳しく解説しています。心当たりのある方はあわせて確認してみてください。

IFERROR関数:エラーを別の値に置き換える
数式の結果がエラーになったときに、代わりの値を表示します。
=IFERROR(VLOOKUP(A1, B1:C100, 2, FALSE), "該当なし")
VLOOKUPやSUMIFSなど、条件に一致しない場合にエラーを返す関数と組み合わせて使うことが多く、エラー値がそのまま画面に残って上司や取引先に見られてしまう、という事態を防いでくれます。
ただし、IFERRORで#N/Aを隠す前に、そもそもなぜエラーが起きているのかを確認しておくことも大切です。VLOOKUPで#N/Aが消えない原因と対処法では、スペースの混入や範囲のズレなど、エラーの根本原因の見つけ方を紹介しています。エラーを隠す前に、原因を潰しておくほうが、後々の事故を防げます。

3. 一番・n番目・順位を求める関数
MAX関数・MIN関数:最大値と最小値を見つける
=MAX(L1:L20)
=MIN(M1:M15)
指定範囲の中の最大値・最小値をそれぞれ求めます。
LARGE関数・SMALL関数:大きい方・小さい方からn番目の値を求める
=LARGE(N1:N10, 2)
=SMALL(O1:O12, 3)
LARGEはN1からN10の中で2番目に大きい値を、SMALLはO1からO12の中で3番目に小さい値を返します。MAX・MINは「一番」を求める関数、LARGE・SMALLは「n番目」を求める関数、と役割を分けて覚えておくと、必要な場面で迷わず選べるようになります。
RANK関数:順位を求める
=RANK(P2, P2:P20, 0)
P2の値が、P2からP20の範囲の中で何位にあたるかを求めます。第3引数を0(または省略)にすると降順(大きい方が1位)、1にすると昇順(小さい方が1位)になります。売上ランキングや営業成績の一覧表など、社内で公開する資料に順位を添えたいときによく使われます。
4. 別表から探して持ってくる関数
VLOOKUP関数:条件に対応する値を検索する
指定した値に対応するデータを、別の範囲から検索して取得します。
=VLOOKUP("商品コード", Q1:R100, 2, FALSE)
Q1からR100の範囲から「商品コード」に対応する値を探し、2列目の値を返します。VLOOKUPは実務で非常によく使われる関数ですが、参照先の表に「同じ意味の列が複数存在する」場合、意図しない列を拾ってしまうことがあります。
たとえば「名前」と「名前2」のような重複した列が参照範囲に含まれていると、VLOOKUPは常に一番左側で見つかった列を優先するため、更新されているはずのデータが反映されないといった事故につながります。この重複列の問題についてはこちらの記事で詳しく解説していますので、VLOOKUPの検索結果に違和感がある方は確認してみてください。

VLOOKUP関数についてさらにくわしく知りたい方はこちら。近似一致の危険性や列番号の数え方まで、実務目線でまとめています。

XLOOKUP関数:VLOOKUPの後継として登場した検索関数
=XLOOKUP(A1, B1:B100, C1:C100)
XLOOKUPはVLOOKUPの弱点をいくつか解消した新しい検索関数です。VLOOKUPは検索する列が必ず範囲の左端になければいけませんでしたが、XLOOKUPはその制約がなく、検索範囲と取得範囲を別々に指定できます。また、列を挿入しても列番号を数え直す必要がないのも大きな違いです。ただし、Microsoft 365など一部のバージョンでしか使えないため、共有するファイルの相手が古いExcelを使っている場合は注意が必要です。
INDEX関数+MATCH関数:VLOOKUPより柔軟に検索する組み合わせ
=INDEX(D1:D100, MATCH(A1, B1:B100, 0))
MATCHで「検索値が何行目にあるか」を調べ、INDEXで「その行の値を取り出す」という2段階の組み合わせです。VLOOKUPと違い、検索したい列が表の左端になくても使える点が大きなメリットで、XLOOKUPが使えない環境でも同じような柔軟な検索を実現できます。慣れるまでは少し複雑に感じますが、VLOOKUPで詰まった経験がある方ほど、便利さを実感しやすい組み合わせです。
5. 文字列を整える・加工する関数
LEFT関数・RIGHT関数・MID関数:文字列の一部を取り出す
=LEFT(A1, 3)
=RIGHT(A1, 4)
=MID(A1, 2, 3)
LEFTは左から、RIGHTは右から、MIDは指定した位置から、それぞれ指定した文字数を取り出します。「商品コードの先頭3桁だけ見たい」「電話番号の下4桁だけ抜き出したい」といった、実務でのデータ加工に頻出する関数です。
TEXT関数:数値を任意の書式の文字列に変換する
=TEXT(A1, "0,000円")
数値をそのまま表示するのではなく、「1000」を「1,000円」のように、指定した書式の文字列に変換します。他のセルの文字列と連結して請求書や案内文を作るときに重宝します。
CONCATENATE関数・TEXTJOIN関数:文字列を結合する
=CONCATENATE(A1, "-", B1)
=TEXTJOIN("-", TRUE, A1:C1)
CONCATENATEは古くからある文字列結合の関数ですが、近年はTEXTJOINのほうが便利です。TEXTJOINは区切り文字を指定でき、さらに空白セルを自動で無視してくれるため、結合対象のセル数が多い場合や、途中に空白が混ざる可能性がある場合はTEXTJOINを選んだほうが結果がすっきりします。
SUBSTITUTE関数・VALUE関数:文字列を置き換える・数値に変換する
=SUBSTITUTE(A1, " ", "")
=VALUE(A1)
SUBSTITUTEは指定した文字を別の文字に置き換える関数で、セル内の余分なスペースや不要な記号を取り除くときによく使われます。VALUEは、見た目は数字でも実際は文字列として入力されているセルを、計算できる数値に変換します。
SUBSTITUTEやTRIM・CLEANといった文字列関数は、セル内の改行や見えない制御文字が原因で検索や集計がうまくいかないときの対処法としてもよく登場します。セル内の改行が原因で関数が動かない時の直し方では、こうした見た目では気づきにくい文字の見分け方と、文字列関数を使った具体的な解決手順を紹介しています。

LEN関数・TRIM関数:文字数を数える・余分なスペースを取り除く
=LEN(A1)
=TRIM(A1)
LENはセルの文字数を数える関数で、「想定より1文字多い」といった形で、見えないスペースの混入に気づくきっかけになります。TRIMは単語の間の余分なスペースを1つにまとめ、先頭と末尾の余分なスペースを取り除いてくれる関数です。COUNTIFやVLOOKUPが「一致しないはずがないのに一致しない」というときの、最初のチェック項目として覚えておくと安心です。
6. 日付・時刻を扱う関数
DATE関数:年・月・日から日付データを作成する
=DATE(2026, 8, 11)
年・月・日をそれぞれ別のセルで管理している場合に、それらを1つの日付データにまとめて作成できます。日付を扱う関数のなかでも土台になる関数で、後述のYEAR・MONTH・DAY関数とセットで使うことが多くなります。
TODAY関数・NOW関数:現在の日付・日時を取得する
=TODAY()
=NOW()
TODAYはその日の日付、NOWは現在の日時を返します。ファイルを開くたびに自動で更新されるため、請求書の発行日や、進捗管理表の「経過日数」を自動計算したい場面でよく使われます。
YEAR関数・MONTH関数・DAY関数:日付から年・月・日を取り出す
=YEAR(A1)
=MONTH(A1)
=DAY(A1)
日付データから、年だけ・月だけ・日だけを取り出したいときに使います。月ごとの集計や、誕生日から年齢を計算するときなど、日付を分解して扱いたい場面で活躍します。
7. 覚えておくと差がつく新しい関数
UNIQUE関数・FILTER関数:重複を除いた一覧を作る・条件で絞り込む
=UNIQUE(A1:A100)
=FILTER(A1:C100, B1:B100="東京")
比較的新しいバージョンのExcelで使える、いわゆる「スピル機能」を使った関数です。UNIQUEは指定範囲から重複を除いた一覧を自動的に作成し、FILTERは条件に合う行だけを別の場所に自動で書き出してくれます。どちらも、これまでピボットテーブルやフィルター機能で手作業に近い形で行っていた作業を、数式1つで完結できるのが大きな魅力です。使えるバージョンが限られる点だけ、事前に確認しておいてください。
目的別・関数早見表
ここまで紹介した関数を、目的別に一覧表として整理しておきます。どの関数を使うか迷ったときの、簡易的な索引として使ってください。

よくある質問
Q. 関数はどれから覚えればいいですか?
まずはSUM・AVERAGE・IF・VLOOKUPの4つを押さえておけば、実務の8割程度の場面には対応できます。そのうえで、自分の業務で「条件を指定して集計する」場面が多ければCOUNTIFS・SUMIFSを、「表から探す」場面が多ければXLOOKUPやINDEX+MATCHを、というように、自分の業務内容に合わせて優先順位を決めるのがおすすめです。
Q. IF関数とIFS関数、どちらを使うべきですか?
条件が2〜3個程度であれば、IFのネストでも大きな問題にはなりません。ただし条件が4個以上になり、数式がひと目で読めなくなってきたと感じたら、IFS関数(バージョンによっては使用できない場合があります)や、そもそも条件分けの設計自体を見直すタイミングです。
Q. エラーが出たら、まず何をすればいいですか?
いきなりIFERRORでエラーを隠すのではなく、まずはエラーの種類(#N/A、#VALUE!、#REF!など)を確認し、原因を特定することをおすすめします。原因を特定したうえで、必要であればIFERRORで見た目を整える、という順番のほうが、後から同じ間違いを繰り返しにくくなります。
まとめ ─ 関数以前に「表の作り方」が原因のことも多い
ここまで、目的別に関数を整理してご紹介しました。
ただ、実務でExcelを使っていると、関数の書き方自体は合っているのに、なぜか結果がおかしい、ということがよくあります。そういうときの原因は、関数そのものではなく「表の作り方」や「数式の設計」にあることが少なくありません。
たとえば、1つのセルに複数の関数を詰め込みすぎて誰にも修正できない状態になっていたり、そもそも表の構造そのものが集計に向いていなかったりすると、SUMやCOUNTIFSがどれだけ正しく書かれていても、正確な集計や引き継ぎはできません。このあたりは引き継げないExcelが一番危険|評価される表の作り方という記事でも取り上げていますので、関数を使っても集計や引き継ぎがうまくいかないと感じている方は、あわせて確認してみてください。

関数は、正しく使えば実務の強い味方になってくれます。今回紹介した関数だけで実務のすべてをカバーできるわけではありませんが、「目的から探す」という視点さえ持っておけば、初めて見る関数に出会ったときも、それほど身構えずに調べにいけるはずです。少しずつで構いませんので、一緒に関数と向き合っていきましょう。
もっと実務寄りの応用パターンや、記事だけでは扱いきれない複合的なケースについては、noteで会員限定コンテンツとしてまとめています。よろしければあわせてご覧ください。

コメント