📊 Excel 関数チートシート の使い方
Excel・Google Sheets でよく使う関数を 7 カテゴリ(数学・統計 / テキスト / 日付・時刻 / 論理 / 検索・参照 / 情報 / 財務)に分類して収録した無料チートシートです。関数名やキーワードで即検索でき、構文・説明・使用例をカード形式で確認できます。
🚀 チートシートを使う →📌 このツールでできること
- 🔍 キーワード検索:関数名(例:
VLOOKUP)や用途ワード(例:日付・条件)で即検索 - 🏷️ カテゴリフィルタ:数学・統計 / テキスト / 日付・時刻 / 論理 / 検索・参照 / 情報 / 財務 で絞り込み
- 📋 構文コピー:カードの「コピー」ボタンで関数の構文をクリップボードにコピー
- 💡 使用例付き:各関数に具体的な使用例を掲載しており、すぐに実務へ応用可能
- 🌙 ダーク / ライトテーマ対応
🚀 使い方
- 検索ボックスに関数名(例:
SUMIFS)または用途キーワード(例:合計・検索・日付・文字列)を入力します。入力するたびにリアルタイムで関数カードが絞り込まれます。 - カテゴリボタン(数学・統計 / テキスト / 日付・時刻 / 論理 / 検索・参照 / 情報 / 財務)をクリックしてカテゴリで絞り込めます。キーワード検索との組み合わせも可能です。
- 表示されたカードで各関数の構文・説明・使用例を確認します。構文の引数には日本語の説明が付いており、どの引数に何を入れるか一目で分かります。
- カードの「コピー」ボタンで関数の構文テンプレートをクリップボードにコピーします。Excel や Google Sheets の数式バーに貼り付けて、引数部分を実際のセル参照に書き換えるだけで使えます。
- 「すべて」ボタンを押すとフィルタとキーワードをリセットして全関数を表示します。別の関数を探す際に使用します。
検索ヒント: 「掛け算」「足し算」などの口語表現や「平均」「最大値」「最小値」などの日本語でも検索できます。英語の関数名が分からない場合でも見つけやすくなっています。
💡 よく使う関数の解説
🔍 検索・参照系
- VLOOKUP:表の左端列で値を検索して指定列の値を返す。完全一致には第4引数に
FALSEを指定する。構文:=VLOOKUP(検索値, 範囲, 列番号, FALSE) - XLOOKUP:VLOOKUP の後継。左右どちらの列も検索でき、見つからない場合の値も指定可能。新しいバージョンのExcel・Sheetsで推奨。構文:
=XLOOKUP(検索値, 検索範囲, 戻り範囲, 見つからない場合) - INDEX + MATCH:
=INDEX(戻り範囲, MATCH(検索値, 検索範囲, 0))の組み合わせ。VLOOKUP より柔軟で、左側の列への検索も可能。列の挿入・削除に強い。 - FILTER:条件に一致する行を動的に抽出する(動的配列関数)。
=FILTER(配列, 条件, 空の場合)— 集計表に使うと自動更新されて便利。 - MATCH:検索値の配列内の相対位置(何番目か)を返す。INDEX と組み合わせて使うほか、単独でリスト内の位置確認にも使用する。
- OFFSET:基準セルから指定した行数・列数だけ移動したセル参照を返す。動的な参照範囲を作る際に使用するが、揮発性関数のため大量使用はパフォーマンスに影響する。
📊 集計・条件系
- SUMIFS:複数条件で合計する。
=SUMIFS(合計列, 条件列1, "条件1", 条件列2, "条件2")— 引数の順番に注意(合計範囲が最初)。 - COUNTIFS:複数条件でカウントする。
=COUNTIFS(条件範囲1, "条件1", 条件範囲2, "条件2")— SUMIFS と引数の順番が異なる(条件範囲が先)。 - AVERAGEIFS:複数条件の平均値。SUMIFS・COUNTIFS と同様の引数構造。
- SUBTOTAL:フィルタ表示中の行のみを集計できる。集計方法
9が SUM・3が COUNTA に相当。非表示行も除外する場合は 100 番台(109 が SUM)を使用。 - AGGREGATE:SUBTOTAL の拡張版。エラーや非表示行を無視するオプションが選べる。最大・最小・中央値などより多くの集計方法に対応。
🗓️ 日付系
- DATEDIF:2 日付間の差を年・月・日単位で返す。年齢計算に頻用。
=DATEDIF(生年月日, TODAY(), "Y")— オートコンプリートに出ない隠し関数だが直接入力で動作する。 - EOMONTH:月末日を返す。
=EOMONTH(TODAY(), 0)で今月末、=EOMONTH(TODAY(), 1)で翌月末。請求書の支払期日計算に便利。 - WORKDAY / NETWORKDAYS:土日を除いた稼働日の計算に使用。
=WORKDAY(開始日, 日数, 祝日リスト)。祝日リストを第3引数に渡すと祝日も除外できる。 - WEEKDAY:日付の曜日を数値で返す。
=WEEKDAY(日付, 2)は月曜=1〜日曜=7 の形式。条件付き書式と組み合わせて土日の行を色分けするのに使われる。 - DATE / YEAR / MONTH / DAY:日付を構成する要素を操作する基本関数。
=DATE(YEAR(A1), MONTH(A1)+1, 1)-1で月末日を求める方法もある。
📝 テキスト系
- TEXTJOIN:区切り文字を指定して複数セルを結合。
=TEXTJOIN(", ", TRUE, A1:A5)— 第2引数 TRUE で空白セルをスキップ。 - SUBSTITUTE:文字列内の特定の文字列を置換。
=SUBSTITUTE(A1, "旧文字", "新文字")—REPLACEが位置指定なのに対し、こちらは文字列指定。 - TEXT:日付や数値を任意の書式の文字列に変換。
=TEXT(TODAY(), "yyyy年mm月dd日")・=TEXT(A1, "#,##0円") - LEFT / RIGHT / MID:文字列から指定文字数を切り出す基本関数。
=LEFT(A1, 3)で先頭3文字、=MID(A1, 4, 5)で4文字目から5文字。 - LEN / LENB:文字数・バイト数を返す。LENB は全角文字を2バイトとしてカウント。入力フォームの文字数チェックに使用。
⚡ 論理系
- IFS:複数条件の分岐。ネストした IF より読みやすい。
=IFS(A1>=90,"S", A1>=70,"A", TRUE,"B") - IFERROR:エラー時に代替値を返す。
=IFERROR(VLOOKUP(...), "未設定")— VLOOKUP や割り算のエラー対策に必須。 - SWITCH:特定の値に対応した結果を返す。
=SWITCH(A1, 1,"月", 2,"火", 3,"水", "その他")— CASE 文に近い使い方。 - AND / OR / NOT:論理演算子。IF の条件を組み合わせる際に使用。
=IF(AND(A1>0, B1>0), "両方正", "NG")
🏢 業務での活用例
在庫管理・商品マスタ参照
商品コードを入力すると自動的に商品名・単価・在庫数が表示される請求書テンプレートを VLOOKUP や XLOOKUP で作成できます。=XLOOKUP(A2, 商品マスタ!A:A, 商品マスタ!B:D) のように複数列を一度に返せる XLOOKUP が特に便利です。在庫数が一定以下になったら自動的に「要発注」と表示する条件付き書式と組み合わせることも可能です。
売上集計・ダッシュボード作成
SUMIFS を使って「部署別・商品カテゴリ別・月別」などの多次元集計表を作成できます。=SUMIFS(売上金額列, 部署列, "営業部", 月列, "2024年4月") のように複数条件を組み合わせてピボットテーブルに近い集計を数式で実現できます。FILTER・SORT・UNIQUE の動的配列関数を組み合わせると、データ追加時に自動更新される集計レポートが作れます。
納品日・期日の自動計算
受注日から「15 営業日後の納品日」を自動計算するには WORKDAY 関数が使えます。=WORKDAY(受注日セル, 15, 祝日リスト) と設定し、祝日リストには別シートに入力した日本の祝日一覧を参照させます。さらに EOMONTH を使って「翌月末払い」などの支払期限も自動計算できます。
人事管理・勤続年数・年齢計算
入社日から現在までの勤続年数を DATEDIF で自動算出できます。=DATEDIF(入社日, TODAY(), "Y") & "年" & DATEDIF(入社日, TODAY(), "YM") & "ヶ月" のように「3年2ヶ月」形式の表示も可能です。年齢・勤続年数に応じた手当の自動計算にも活用されます。
請求書・帳票の自動整形
TEXT 関数で数値・日付を任意の書式に整形し、TEXTJOIN や CONCAT で結合することで、セルの値から自動的に文面を生成できます。例えば ="請求日:" & TEXT(TODAY(), "yyyy年m月d日") & " お支払期限:" & TEXT(EOMONTH(TODAY(),1), "yyyy年m月d日") のように動的な文章生成が可能です。
📊 VLOOKUP / XLOOKUP / INDEX+MATCH 比較表
| 特徴 | VLOOKUP | INDEX+MATCH | XLOOKUP |
|---|---|---|---|
| 検索方向 | 左端列のみ | 任意の列・行 | 任意の列・行 |
| 左側への検索 | ❌ 不可 | ✅ 可能 | ✅ 可能 |
| 複数列を一度に返す | ❌ 不可(1列のみ) | ❌ 1列ずつ | ✅ スピル対応 |
| 見つからない場合の処理 | IFERROR が必要 | IFERROR が必要 | 第4引数で直接指定 |
| 列挿入・削除への耐性 | ❌ 列番号がズレる | ✅ 範囲参照で安全 | ✅ 範囲参照で安全 |
| 対応バージョン | 全バージョン | 全バージョン | Excel 2021 / 365 / Sheets |
| 覚えやすさ | ⭐⭐⭐ 簡単 | ⭐⭐ やや複雑 | ⭐⭐ 引数多め |
推奨される使い方
- 古いバージョンの Excel(2016以前)を使用している場合 → INDEX + MATCH
- Excel 365 / 2021 / Google Sheets を使用している場合 → XLOOKUP
- 一時的な確認・シンプルな表で左端列から右への参照 → VLOOKUP でも可
❓ よくある質問
- Q. VLOOKUP と XLOOKUP の違いは何ですか?
- VLOOKUP は検索列が範囲の左端に限定されますが、XLOOKUP は検索範囲と戻り範囲を別々に指定できるため左右どちらの列も検索できます。また XLOOKUP は見つからない場合の代替値を直接指定でき、IFERROR が不要です。さらに複数列をスピル(溢れ)で一度に返せるため、複数列参照の場合も1つの数式で対応できます。新しいバージョンの Excel(2021以降)・Google Sheets では XLOOKUP が推奨されます。
- Q. INDEX + MATCH と VLOOKUP はどちらを使うべきですか?
- VLOOKUP はシンプルで覚えやすい反面、検索列が左端に固定・列番号がハードコードされるという制約があります。INDEX + MATCH は検索方向の制限がなく、列の挿入・削除に強いため、大規模な表や複雑な参照では推奨されます。Excel 2021 / 365 環境なら XLOOKUP が最も柔軟で、INDEX + MATCH の役割もほぼカバーします。
- Q. SUMIF と SUMIFS の違いは何ですか?
- SUMIF は条件が1つのみで、引数は
=SUMIF(条件範囲, 条件, 合計範囲)です。SUMIFS は複数条件に対応しており、引数の順番が異なります(=SUMIFS(合計範囲, 条件範囲1, 条件1, ...)— 合計範囲が最初)。現在は基本的に SUMIFS を使っておけば1条件・複数条件どちらにも対応できます。 - Q. Google Sheets でも使えますか?
- 掲載している関数のほとんどは Google Sheets でも同じ構文で使用できます。XLOOKUP・FILTER・SORT・UNIQUE などの動的配列関数も Google Sheets で利用可能です。ただし一部の関数(PHONETIC・ASC・JIS など)は Excel 固有です。Google Sheets 独自の関数(QUERY・IMPORTRANGE・ARRAYFORMULA など)は本チートシートには未収録です。
- Q. DATEDIF 関数が Excel のオートコンプリートに出ないのですが?
- DATEDIF は公式に文書化されていない隠し関数(Lotus 1-2-3 との互換性のため残存)のため、オートコンプリートには表示されません。ただし
=DATEDIF(と直接入力すれば正常に動作します。年齢計算・勤続年数計算の定番関数なので本チートシートに収録しています。 - Q. 動的配列関数(FILTER・SORT・UNIQUE)とは何ですか?
- Excel 365 / 2021 と Google Sheets で使える新しい関数群です。1つの数式で複数のセルに結果を「溢れ(スピル)」させることができます。例えば
=FILTER(A:B, C:C="完了")とすると、C列が「完了」の行を自動的に全て抽出して表示します。データが追加されるとリアルタイムで更新されるため、動的なダッシュボード作成に非常に役立ちます。 - Q. IF を複数ネストするのと IFS の違いは何ですか?
- ネストした IF は
=IF(A1>=90,"S", IF(A1>=70,"A", IF(A1>=50,"B","C")))のように階層が深くなりが読みにくくなります。IFS は=IFS(A1>=90,"S", A1>=70,"A", A1>=50,"B", TRUE,"C")とフラットに書けて読みやすいです。条件が2〜3つ以内なら IF ネスト・4つ以上なら IFS または SWITCH が推奨されます。 - Q. 構文をコピーして貼り付けたら #NAME? エラーが出ます。
- コピーした構文テンプレートの引数部分(日本語の説明文)をそのまま貼り付けた場合に発生します。引数の説明文(例:
検索値・範囲)を実際のセル参照(例:A2・B:D)に書き換えてください。また、Excel のバージョンによっては対応していない関数名の場合にも #NAME? が発生します。その場合は代替関数(XLOOKUP → VLOOKUP など)を検討してください。
📚 関連書籍・商品 PR
※ 本リンクはアフィリエイト広告を含みます。