この記事を書いた人
鈴与システムテクノロジー・PCLCMヘルプデスクチーフ
「Excelの関数は難しそう…」「いつも手作業で時間がかかる…」と感じていませんか?
日々のデータ集計や資料作成でExcelは欠かせないツールですが、関数を使いこなせば、あなたの作業は劇的に変わります。手作業でのミスを減らし、時間を大幅に短縮できるだけでなく、より正確なデータ分析が可能になります。
そこえ、「覚えておきたい」「よく使う」「業務効率アップにつながる」という視点で厳選した30個の必須関数を、実務で役立つ具体的な使い方とともに解説します。さらに、初心者が陥りがちな「よくある間違い」とその解決策もご紹介します。
1. なぜExcel関数は必須スキルなのか?
Excel関数を習得することは、あなたの仕事の生産性を飛躍的に高める最短ルートです。
- 作業時間の劇的な短縮: 手作業で行っていた集計やデータ加工が、関数一つで瞬時に完了します。
- データの正確性向上: 計算ミスや入力ミスが減り、常に信頼できるデータに基づいた分析や意思決定が可能になります。
- 業務の質向上: より高度なデータ処理や分析が可能になり、あなたの仕事の付加価値を高めます。
それでは、具体的にどのような関数があるのか、基本から見ていきましょう。
2. 【基礎編】まずはここから!覚えておきたい基本関数(5選)
Excel初心者がまず覚えるべき、最も利用頻度の高い基本関数をご紹介します。
① SUM:合計を計算する
指定した範囲や数値の合計を計算します。
=SUM(範囲) / 例: =SUM(A1:A10) → A1からA10までの合計
② AVERAGE:平均を計算する
指定した範囲や数値の平均を計算します。
=AVERAGE(範囲) / 例: =AVERAGE(B1:B5) → B1からB5までの平均
③ COUNT / COUNTA / COUNTBLANK:個数を数える
- COUNT: 数値が入力されているセルの個数を数えます。
- =COUNT(範囲) / 例: =COUNT(C1:C10) → C1からC10の中で数値があるセルの個数
- COUNTA: 空白ではないセルの個数を数えます(数値、文字列、エラー値など)
- =COUNTA(範囲) / 例: =COUNTA(D1:D10) → D1からD10の中で空白でないセルの個数
④ MAX / MIN:最大値 / 最小値を求める
指定した範囲や数値の中から、最大値(MAX)または最小値(MIN)を求めます。
=MAX(範囲) / =MIN(範囲) / 例: =MAX(F1:F10) → F1からF10の最大値
⑤ ROUND / ROUNDUP / ROUNDDOWN:数値を四捨五入 / 切り上げ / 切り捨てる
数値を指定した桁数で丸めます。
- ROUND: 四捨五入
- =ROUND(数値, 桁数) / 例: =ROUND(3.14159, 2) → 3.14
- ROUNDUP: 切り上げ
- =ROUNDUP(3.14159, 2) → 3.15
- ROUNDDOWN: 切り捨て
- =ROUNDDOWN(3.14159, 2) → 3.14 *桁数に0を指定すると整数、-1を指定すると10の位で丸めます。
3. 【実践編】データ処理・集計を効率化する関数(10選)
ここからは、実際の業務で頻繁に登場する、条件付きの集計やデータ検索に役立つ関数です。
⑥ IF:条件によって処理を分岐させる
指定した条件が真か偽かによって、異なる結果を返します。
=IF(論理式, 真の場合の値, 偽の場合の値)
例: =IF(A1>100, “目標達成”, “未達成”) → A1が100より大きければ「目標達成」、そうでなければ「未達成」
⑦ SUMIF / SUMIFS:条件を満たすセルの合計を計算
- SUMIF: 1つの条件に基づいて合計を計算します。
- =SUMIF(条件範囲, 検索条件, 合計範囲) / 例: =SUMIF(A1:A10, “東京”, B1:B10) → A列が「東京」のB列の合計
- SUMIFS: 複数の条件に基づいて合計を計算します。
- =SUMIFS(合計範囲, 条件範囲1, 検索条件1, …) / 例: =SUMIFS(C1:C10, A1:A10, “東京”, B1:B10, “男性”) → A列が「東京」かつB列が「男性」のC列の合計
⑧ COUNTIF / COUNTIFS:条件を満たすセルの個数を数える
- COUNTIF: 1つの条件を満たすセルの個数を数えます。
- =COUNTIF(範囲, 検索条件) / 例: =COUNTIF(A1:A10, “完了”) → A列で「完了」と入力されたセルの個数
- COUNTIFS: 複数の条件を満たすセルの個数を数えます。
- =COUNTIFS(条件範囲1, 検索条件1, …) / 例: =COUNTIFS(A1:A10, “大阪”, B1:B10, “>1000”) → A列が「大阪」かつB列が1000より大きいセルの個数
⑨ AVERAGEIF / AVERAGEIFS:条件を満たすセルの平均を計算
- AVERAGEIF: 1つの条件を満たすセルの平均を計算します。
- =AVERAGEIF(条件範囲, 検索条件, 平均対象範囲)
- AVERAGEIFS: 複数の条件を満たすセルの平均を計算します。
- =AVERAGEIFS(平均対象範囲, 条件範囲1, 検索条件1, …)
⑩ VLOOKUP:特定のデータ検索(縦方向)
指定した検索値(キー)を範囲の左端列から探し、対応する行の指定した列のデータを取り出します。
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
例: =VLOOKUP(“りんご”, A1:C10, 2, FALSE) → A列から「りんご」を探し、2列目の値を取得(FALSEは完全一致検索)
⑪ HLOOKUP:特定のデータ検索(横方向)
VLOOKUPの横方向版。指定した検索値を範囲の最上行から探し、対応する列の指定した行のデータを取り出します。
=HLOOKUP(検索値, 範囲, 行番号, 検索方法)
例: =HLOOKUP(“4月”, A1:J3, 2, FALSE) → 1行目から「4月」を
⑫ XLOOKUP:次世代の検索関数(VLOOKUP/HLOOKUPの進化版!)
VLOOKUPやHLOOKUPよりも柔軟で強力な検索関数。Excel365やExcel2021以降で利用可能で、検索方向を選べたり、エラー処理が組み込まれていたりします。
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
例: =XLOOKUP(“商品A”, A:A, B:B, “見つかりません”) → A列から「商品A」を探し、B列の値を取得。見つからない場合は「見つかりません」と表示。
⑬ IFERROR:エラー処理
関数の結果がエラーになった場合に、指定した値を表示させることができます。エラー表示を見やすくしたり、次の計算への影響を防いだりします。
=IFERROR(値, エラーの場合の値)
例: =IFERROR(A1/B1, “計算不可”) → A1/B1の計算がエラーの場合、「計算不可」と表示
⑭ SUBTOTAL:フィルター適用時にも正しく集計する
この関数は、Excelでフィルターが適用された際、表示されているデータのみを対象に集計(合計、平均、個数など)を行ないます。
=SUBTOTAL(集計方法, 参照範囲)
- 集計方法:合計は9(SUM)、平均は1(AVERAGE)など、計算内容を示すコードを指定します。
- 参照範囲:集計対象となるセル範囲を指定します。
例: =SUBTOTAL(9, A1:A10)
→ A1
からA10
の範囲でフィルターされたセルの合計を計算
⑮ INDEX / MATCH:VLOOKUPよりも高度で柔軟な検索・参照(組み合わせ)
- INDEX: 指定した範囲の中から、行と列の位置にあるセルの値を取り出します。
- MATCH: 指定した値が、範囲内のどの位置にあるか(何番目か)を返します。
- =MATCH(検査値, 検査範囲, 照合の種類) / 組み合わせ例: =INDEX(B1:B10, MATCH(“商品X”, A1:A10, 0)) → A列から「商品X」を探し、その行のB列の値を取得(VLOOKUPの代替としても使え、より柔軟性がある)
4. 【応用編】業務の幅を広げる!知っておくと便利な関数(15選)
さらにExcelを使いこなしたい方へ。文字列操作、日付計算、特殊な参照など、知っておくと業務の幅が格段に広がる関数です。
⑯ CONCAT / TEXTJOIN:複数の文字列を結合する
- CONCAT (Excel 2016以降): 複数のセルや範囲の文字列を結合します。
- =CONCAT(文字列1, 文字列2, …) / 例: =CONCAT(A1, B1, C1) → A1, B1, C1の内容を結合
- TEXTJOIN (Excel 2016以降): 区切り文字を指定して、複数の文字列を結合します。空白セルを無視するオプションもあります。
- =TEXTJOIN(区切り文字, 空白を無視, 文字列1, 文字列2, …) / 例: =TEXTJOIN(“-“, TRUE, A1:C1) → A1, B1, C1の内容をハイフンでつないで結合(空白セルは無視)
⑰ LEFT / RIGHT / MID:文字列の左 / 右 / 中央から抽出
- LEFT: 文字列の左端から指定した文字数を抽出します。
- =LEFT(文字列, 文字数) / 例: =LEFT(“東京都千代田区”, 3) → 東京都
- RIGHT: 文字列の右端から指定した文字数を抽出します。
- =RIGHT(“東京都千代田区”, 3) → 千代田区
- MID: 文字列の指定した位置から、指定した文字数を抽出します。
- =MID(文字列, 開始位置, 文字数) / 例: =MID(“ABCD”, 2, 2) → BC
⑱ LEN:文字列の文字数を数える
指定した文字列の文字数を数えます(バイト数ではなく文字数)。
=LEN(文字列)
例: =LEN(“Excel関数”) → 6
⑲ FIND / SEARCH:文字列の中から特定の文字や文字列を検索する
- FIND: 大文字・小文字を区別して、文字列の開始位置を数値で返します。
-
=FIND(検索文字列, 対象文字列, [開始位置])
/ 例: =FIND("c", "ABCD") → #VALUE!
(”c”は小文字のためエラー)
- SEARCH: 大文字・小文字を区別せず、文字列の開始位置を数値で返します。
-
=
SEARC
H(検索文字列, 対象文字列, [開始位置])
/ 例: =SEARCH("c", "ABCD") →
3
(”c”は小文字でも検索可能)
⑳ TEXT:数値を指定した書式で文字列に変換する
数値や日付を指定した書式(例: 通貨、日付形式、小数点以下の桁数)で文字列に変換します。
=TEXT(値, 表示形式)
例: =TEXT(TODAY(), “yyyy/mm/dd”) → 2025/06/22(今日の日付の例)
㉑ TODAY / NOW:今日の日付 / 現在の日付と時刻を表示する
- TODAY: 今日の日付(yyyy/mm/dd)を表示します。引数は不要です。
- NOW: 現在の日付と時刻(yyyy/mm/dd hh:mm)を表示します。引数は不要です。
- =NOW() *PCの日付と時刻に連動し、開くたびに更新されます。
㉒ DATEDIF:指定した期間(年、月、日)を計算する
2つの日付間の年数、月数、日数などを計算します。補助機能はでませんが、Excelで利用可能で非常に便利です。
=DATEDIF(開始日, 終了日, 単位)
*単位には “Y”(年数)、”M”(月数)、”D”(日数)などを指定。
例: =DATEDIF(“2020/1/1”, TODAY(), “Y”) → 2020年1月1日からの経過年数
㉓ EDATE / EOMONTH:指定した日付から指定月数後の日付 / 月末日を計算する
- EDATE: 指定した日付から、指定月数後の日付を計算します。
- =EDATE(開始日, 月数) / 例: =EDATE(“2025/1/1”, 3) → 2025/4/1
- EOMONTH: 指定した日付から、指定月数後の月末日を計算します。
- =EOMONTH(開始日, 月数) / 例: =EOMONTH(“2025/1/1”, 3) → 2025/4/30
㉔ WORKDAY / NETWORKDAYS:営業日計算
- WORKDAY: 指定した日付から、指定した日数後の「営業日」を計算します(土日祝日を除く)。
- NETWORKDAYS: 指定した期間内の「営業日数」を計算します(土日祝日を除く)。
- =NETWORKDAYS(開始日, 終了日, [祝日]) *[祝日]には祝日リストの範囲を指定できます。
㉕ UNIQUE:範囲内の重複しない一意の値を抽出する (Excel 365 / Excel 2021以降)
指定した範囲の中から、重複しないユニークな値だけを抽出して表示します。
=UNIQUE(配列)
例: =UNIQUE(A1:A100) → A1からA100の中で重複しない値だけを抽出
㉖ SORT / FILTER:範囲を並べ替え / 条件で絞り込む (Excel 365 / Excel 2021以降)
- SORT: 範囲を基準となる列で並べ替えます。
- =SORT(配列, [並べ替えインデックス], [並べ替え順序])
- FILTER: 条件に合う行や列だけを抽出して表示します。
- =FILTER(配列, 含む, [空の場合]) これらは「スピル機能」に対応し、結果が自動的に複数のセルに展開されます。
㉗ TRANSPOSE:行列入れ替え
データの行と列を入れ替えて表示します。貼り付けオプションの「行列を入れ替える」と同じですが、関数として利用できます。
=TRANSPOSE(配列)
例: =TRANSPOSE(A1:C5) → A1からC5の範囲の行と列を入れ替えて表示
㉘ INDIRECT:文字列として入力されたセル参照を評価する
文字列として入力されたセル番地を、実際のセル参照として評価する関数です。複雑な参照や、シート名を動的に変更したい場合などに使用します。
=INDIRECT(参照文字列)
例: =INDIRECT(“A”&ROW()) → 現在の行のA列のセルを参照
㉙ OFFSET:基準セルから指定したオフセット位置にあるセルまたは範囲を参照する
指定したセルを基準に、そこから何行、何列移動した場所のセル、あるいはそこから指定した高さ・幅の範囲を参照します。
=OFFSET(基準, 行数, 列数, [高さ], [幅])
例: =OFFSET(A1, 1, 1) → A1から1行下、1列右(B2)のセルを参照
㉚ PMT:ローンの毎月の支払い額を計算する(財務関数)
金利、期間、元金に基づいて、ローンの毎月の支払い額などを計算します。
=PMT(利率, 期間, 現在価値)
例: =PMT(0.05/12, 60, 1000000) → 年利5%で5年(60ヶ月)で100万円借りた場合の月々の支払い額
5. Excel関数で「よくある間違い」と解決策
関数を使っていると、エラーが出たり、思った通りの結果にならなかったりすることがよくあります。ここでは、初心者が陥りがちな間違いと、その解決策を解説します。
① 参照形式の間違い(相対参照・絶対参照・複合参照)
- よくある間違い: 数式をコピーしたときに、参照するセルがずれてしまう。
- 原因: セル参照の形式(相対参照、絶対参照、複合参照)を正しく理解していない。
- 解決策:
- 相対参照(例: A1): 数式をコピーすると参照が自動的にずれる。
- 絶対参照(例: $A$1): コピーしても参照がずれない。F4キーを押すと切り替えられます。
- 複合参照(例: $A1 や A$1): 行または列のみが固定される。 用途に合わせてF4キーを使って適切に設定しましょう。
② 引数の指定ミス(カンマ忘れ、範囲の指定間違い、カッコ閉じ忘れ)
- よくある間違い: =を入力した後にエラーになったり、数式が正しく機能しない。
- 原因: 関数の引数(ひきすう)と引数の間のカンマ忘れ、範囲のドラッグミス、カッコの閉じ忘れなど。
- 解決策:
- 関数の入力時に表示される**ツールヒント(引数の説明)**をよく見て、必要な引数を正しく入力する。
- 引数と引数の間は必ず**カンマ(,)**で区切る。
- カッコは必ず対になるように閉じる(Excelは自動補完してくれることもありますが、確認は必要)。
③ #VALUE! や #N/A などのエラー表示への対処法
Excelの関数は、条件を満たさないとエラーを表示します。主なエラーと対処法を知っておきましょう。
- #VALUE!: 引数のデータ型が間違っている(例: 数値が必要な場所に文字列が入っている)。
- 対処法: 入力データが正しい型か確認する。TEXT関数などで型を変換する必要がある場合も。
- #N/A: 検索関数(VLOOKUPなど)で検索値が見つからなかった。
- 対処法: 検索値が正しいか、検索範囲内に存在するか確認する。IFERROR関数でエラー表示を制御し、見栄えを良くすることも可能です。
- #DIV/0!: 0で割り算を行っている。
- 対処法: 分母が0にならないように条件分岐する(例: =IF(B1=0, “”, A1/B1))。
- #REF!: 参照しているセルや範囲が存在しない(削除されたなど)。
④ 文字列と数値の混在による計算エラー
- よくある間違い: 数字に見えるのに計算ができない、合計が合わない。
- 原因: セルに数値としてではなく、文字列として数字が入力されている。
- 解決策:
- セルが左寄せになっている場合は文字列の可能性が高いです。
- 緑色のエラーマークが表示されている場合は、「数値に変換」機能を使います。
- VALUE関数(=VALUE(文字列))を使って数値に変換することも可能です。CSVインポートなどで起こりやすいので、インポート設定も確認しましょう。
⑤ 配列数式の理解不足
- よくある間違い: 複数のセルにまとめて結果を出したいのにうまくいかない(特にExcel 365 / 2021以前のバージョン)。
- 原因: 複数のセルにまたがる計算(配列数式)の入力方法を知らない。
- 解決策:
- Excel 365や2021以降では、UNIQUEやSORT、FILTERなどの関数が「スピル機能」で自動的に結果を複数セルに展開してくれます。
- それ以前のバージョンでは、数式入力後にCtrl + Shift + Enterを押して、数式を {} で囲む必要があります。
6. まとめ:関数マスターでExcel作業が劇的に変わる!
この記事でご紹介した30の関数は、Excelを日常的に使う上で非常に役立つものばかりです。基礎的な集計から、複雑なデータ検索、文字列・日付操作、そしてエラー処理まで、これらの関数を使いこなすことで、あなたのExcel作業は劇的に効率化され、これまで手作業で費やしていた時間を大幅に短縮できるでしょう。
そして、エラーが出たら慌てずに、この記事の「よくある間違い」セクションを参考に解決策を探してみてください。
さらに高度な効率化を目指すなら、マクロ(VBA)による自動化や、大量データ処理に強いPower Queryなどができるとさらに便利に使えます。
エクセルの関数は数多くありますが、やり方がわかっても、実際にどう業務効率や分析向上につなげられるか、が大事。鈴与のPC-LCMのヘルプデスクならば、実際の業務のシーンでの有効的な関数を提案し、レクチャーが可能です。
鈴与のPC-LCMサービス