【この記事の結論】
あなたがExcel初心者〜中級者なら、SUM / AVERAGE / COUNT / IF / XLOOKUP / CONCAT / DATE の7つを使えれば日常業務の8割はカバーできます。
VLOOKUPは互換で理解し、新規作成はXLOOKUPを使いましょう。
この記事を読むだけで、合計・平均・件数・条件分岐・検索・文字結合・日付生成をマスターし、10分後には実務で使えるスニペットが手に入ります。
こんにちは、Excelの鬼(zuba)です。
Excel業務の「遅い」「面倒」のほとんどは、関数の知識不足で手作業が増えていることが原因です。しかし、数ある関数をすべて覚える必要はありません。
本記事では、私が過去10年間で「これができれば仕事が速い」と断言できる、実務必須の8関数を厳選し、最新の推奨関数名で解説します。コピペで使えるスニペット付きなので、ぜひブックマークして活用してください。
- この記事で学ぶ8つの必須関数と実務TIPS
- 合計 SUM(フィルタ後の合計はSUBTOTAL)
- 平均 AVERAGE(ゼロを除いて平均を出す方法)
- 数値の件数 COUNT / COUNTA(空白含む/除外の違い)
- 条件分岐 IF(多条件はIFSが断然早い)
- 検索 XLOOKUP(VLOOKUPはもう不要!)
- 横方向の検索 HLOOKUPは必要?代替はXLOOKUP
- 文字結合 CONCAT(TEXTJOINも知っておくべき)
- 日付生成 DATE(不正日付の自動調整に注意)
- よくあるミスとチェックリスト【これを抑えればエラー激減】
- コピペ用スニペット集(今日から使える)
- FAQ(よくある質問と構造化スニペット向け)
- まとめ:まずは自分のシートで試してみよう
この記事で学ぶ8つの必須関数と実務TIPS
- 合計:SUM (フィルタ後の合計はSUBTOTAL)
- 平均:AVERAGE (ゼロ除外はAVERAGEIF)
- 件数:COUNT / COUNTA
- 条件分岐:IF (複数条件はIFS)
- 検索:XLOOKUP (最新推奨)
- 文字結合:CONCAT / TEXTJOIN (推奨)
- 日付生成:DATE (月の加減算はEDATE)
- 【重要】よくあるミスとチェックリスト
合計 SUM(フィルタ後の合計はSUBTOTAL)
目的:指定範囲の数値を合計する
構文:=SUM(number1,[number2],…)
例:=SUM(A1:A12) → A1〜A12の合計
実務TIPS
- 【超重要】フィルタ後の合計は
SUBTOTAL(9,範囲)を使う:通常のSUMだと、フィルタで非表示にしたセルも合計してしまいミスに繋がります。 - 条件付き合計は
SUMIFやSUMIFS:例:=SUMIF(A:A,"東日本",B:B)で特定の条件を満たす値だけを合計。
⚠️落とし穴:文字列の「数値」(例:「123」と入力された文字列)は無視されます。集計前にセルの書式を確認しましょう。
平均 AVERAGE(ゼロを除いて平均を出す方法)
目的:算術平均を計算する
構文:=AVERAGE(number1,[number2],…)
例:=AVERAGE(A1:A12)
実務TIPS
- ゼロ(0)を除いて平均を出すなら
AVERAGEIF:=AVERAGEIF(A1:A12,"<>0")で「0ではない」という条件を付けて計算できます。 - 欠損が多いデータは
MEDIAN(中央値)も検討:極端な外れ値に引っ張られない平均の代替手段です。
数値の件数 COUNT / COUNTA(空白含む/除外の違い)
目的:条件に合うセルの数を数える
構文:=COUNT(value1,[value2],…)
例:=COUNT(B1:B20) → B1〜B20のうち、数値が入っているセルの件数
周辺関数の違い
COUNTA:空白以外のセルの件数(数値、文字列、エラーなどすべて対象)COUNTBLANK:空白のセルの件数COUNTIF / COUNTIFS:**条件を満たす**セルの件数(例:=COUNTIF(A:A,"完了"))
⚠️落とし穴:COUNTは**数値のみ**が対象です。「出席」などの文字列は数えられません。
条件分岐 IF(多条件はIFSが断然早い)
目的:条件(真 or 偽)に応じて値を切り替える
構文:=IF(logical_test, value_if_true, value_if_false)
例:=IF(B2>1000,"High","Low")
実務TIPS:複数条件をシンプルに処理
- AND/ORを使う:
=IF(AND(B2>1000,C2="東"),"重点","通常")で複数の条件がすべて揃った場合(AND)や、いずれかが揃った場合(OR)を指定。 - 【推奨】複数の範囲判定は
IFS:IFをネスト(入れ子)にするよりシンプルで間違いにくい。=IFS(B2>=1000,"High", B2>=500,"Mid", TRUE,"Low")
⚠️落とし穴:比較の境界条件(「以上 **>=**」と「より大きい **>**」)を間違えると、ちょうど境界の値で誤判定します。
検索 XLOOKUP(VLOOKUPはもう不要!)
目的:検索値に一致するデータを、どの方向からでも抽出する
構文:=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], …)
例:=XLOOKUP("ProductA", D2:D10, E2:E10, "Not found", 0)
なぜXLOOKUPを使うべきか?
従来のVLOOKUP / HLOOKUPのほぼすべての欠点を解消しています。
- **列挿入で壊れない**:検索範囲と抽出範囲を別々に指定するため、途中に列を追加しても関数が壊れません。
- **左側の検索もOK**:VLOOKUPのように「検索値が必ず一番左」という制約がありません。
- **エラー処理が組み込み**:値が見つからないときのエラー(#N/A)を、構文内で簡単に処理できます。
📌互換のためのVLOOKUP:古いファイルで参照する可能性を考え、形だけは覚えておきましょう。=VLOOKUP("ProductA", D2:E10, 2, FALSE)
横方向の検索 HLOOKUPは必要?代替はXLOOKUP
要点:HLOOKUPは表が横方向になっている場合のVLOOKUPです。しかし、これも**XLOOKUPで代用可能**です。
HLOOKUP例:=HLOOKUP(200, D1:E10, 2, FALSE)
XLOOKUP代替例:=XLOOKUP(200, D1:E1, D2:E2, "NA", 0)
文字結合 CONCAT(TEXTJOINも知っておくべき)
目的:複数の文字列やセルの値を結合する
推奨関数:CONCAT(新)またはTEXTJOIN
互換:CONCATENATE(旧、将来非推奨)
例:
=CONCAT(A1," ",B1)→ A1の値とB1の値をスペースで結合- **
TEXTJOINで空白無視**:=TEXTJOIN(" ", TRUE, A1, B1, C1)// 空白セルを**無視**して結合できるのが強力
⚠️落とし穴:数値に通貨記号や桁区切りを付けたい場合は、必ずTEXT関数で書式を整えてから結合しましょう。=TEXT(A1,"#,##0")&"円"
日付生成 DATE(不正日付の自動調整に注意)
目的:年、月、日をそれぞれ指定して正規の日付シリアル値を作成
構文:=DATE(year, month, day)
例:=DATE(A1, B1, C1)
実務TIPS:日付の加減算
- **〇か月後の日付**:
=EDATE(A1, 1)// 1か月後 - **月の末日**:
=EOMONTH(A1, 0)// 当月末日
⚠️落とし穴:DATE(2025, 13, 5) と指定すると、Excelが自動で 2026/1/5 に調整します。意図しない日付のズレにつながるため、入力値の確認が必要です。
よくあるミスとチェックリスト【これを抑えればエラー激減】
「関数が動かない」「コピーしたら結果がおかしい」という時に確認すべき、実務的なチェックポイントです。
| ミス内容 | 確認・対処方法 | 関数例 |
|---|---|---|
| 参照範囲の固定忘れ | 絶対参照(**$**)で固定。範囲を選択してF4キーを押す | =SUM(A1:A$10$) |
| 文字列数値・全角半角混在 | VALUEで数値化、TRIM/CLEANで不要なスペース・改行を除去 | =SUM(VALUE(A1),B1) |
| 近似一致の誤用 | 検索関数は基本的に「**完全一致**」を指定する(XLOOKUPなら末尾を0、VLOOKUPならFALSE) | =XLOOKUP(…,"Not found", **0**) |
| フィルタ中の合計 | フィルタ後の集計には必ずSUBTOTALまたはAGGREGATEを使用する | =SUBTOTAL(9,A:A) |
| エラー(#N/A, #VALUE!)表示 | IFERRORでエラーを空白や指定文字に置き換えて見やすくする | =IFERROR(XLOOKUP(…), "") |
コピペ用スニペット集(今日から使える)
関数名と役割を覚えられないうちは、ここをコピペして使ってみてください。
// 合計と平均
=SUM(A1:A12)
=AVERAGE(A1:A12)
// 件数
=COUNT(B1:B20) // 数値の件数
=COUNTA(B1:B20) // 空白以外の件数
// 条件分岐
=IF(B2>1000,”High”,”Low”)
=IFS(B2>=1000,”High”,B2>=500,”Mid”,TRUE,”Low”) // 多条件分岐
// 検索(推奨)
=XLOOKUP(“ProductA”,D2:D10,E2:E10,”Not found”,0)
// 検索(互換)
=VLOOKUP(“ProductA”,D2:E10,2,FALSE)
// 文字結合
=CONCAT(A1,” “,B1)
=TEXTJOIN(” “,TRUE,A1,B1) // 空白セルを無視して結合
// 日付操作
=DATE(A1,B1,C1)
=EDATE(A1,1) // 1か月後の日付
=EOMONTH(A1,0) // 当月末日の日付
// エラー処理
=IFERROR(式,””)
FAQ(よくある質問と構造化スニペット向け)
- Q1: VLOOKUPとXLOOKUP、どちらを使えばいいですか?
- A1: 原則としてXLOOKUPを使ってください。 VLOOKUPは「左側が検索できない」「列挿入で壊れやすい」といった弱点がありますが、XLOOKUPはこれらをすべて解決しています。ただし、古いExcelバージョン(2019以前)との互換が必要な場合はVLOOKUPも理解しておく必要があります。
- Q2: Excelの「空白」と「0」の違いは何ですか?
- A2: 「空白」はデータがない状態で、AVERAGE関数などは無視します。「0」はデータとして値がある状態で、AVERAGE関数は計算に含めます。そのため、ゼロを除いて平均を出す場合は
AVERAGEIF(範囲,"<>0")のように条件付けが必要です。
まとめ:まずは自分のシートで試してみよう
お疲れ様でした。Excelの必須関数8選と実務的なTIPSを解説しました。
インプットだけでは関数は身につきません。今日学んだことを定着させるための次のアクションはこれです。
- 自分の売上表や名簿を開き、上記「コピペ用スニペット集」を実際に貼って動作確認する。
- うまくいかない箇所をIFERRORや絶対参照(F4)で調整してみる。
この小さな一歩で、あなたのExcel業務は劇的に速くなります。一緒にガンガン仕事の効率を上げていきましょう!



コメント