【経営効率化の必須テクニック】中小企業・個人事業主のためのExcel関数マニュアル

行政書士米田耕太郎事務所 Administrative scrivener Komeda Kotaro Office

中小企業や個人事業主の皆様にとって、Excelは単なる表計算ソフトではありません。「売上管理」「顧客名簿」「経費精算」を正確かつ迅速に行うための、最も身近な業務効率化ツールです。

本記事では、日常業務の生産性を劇的に高める「目的別Excel関数一覧」を、「関数名」「目的・用途」「書式」「使用例」「致命的なミスを防ぐための注意事項」の順で、すぐに役立つ実務テクニックとしてご紹介します。

🔍 検索・参照・抽出:顧客情報や商品データを即座に見つける関数

膨大な名簿や商品コードから、必要な情報を一発で探し出すための「データベース検索」テクニックです。入力間違いの確認や、請求書作成の時短に直結します。

関数名目的・用途(説明)書式(入力方法)使用例注意事項
VLOOKUP縦のリスト(商品リストや顧客名簿)から、指定したコードに対応する別の列の情報(単価や氏名)を取り出す。=VLOOKUP(検索値, 範囲, 列番号, 検索方法)=VLOOKUP("A123", B5:E50, 4, FALSE)検索コードは必ず参照範囲の左端の列になければならない。完全一致には必ず FALSE (または 0) を指定する。近似一致検索(TRUEまたは省略)を使う際は、検索先の表(範囲)を必ず昇順に並び替える必要がある。
XLOOKUPVLOOKUP/HLOOKUP の上位互換。縦横の検索に加え、エラー時の処理や検索方向の指定が簡単で、VLOOKUPの多くの制限を解消できる。=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合])=XLOOKUP(A2, 商品コード, 単価列, "在庫なし")VLOOKUPと異なり、検索範囲と戻り範囲を別々に指定できる。古いExcelバージョンでは使えない(Microsoft 365, Excel 2021以降)。
INDEX指定した行番号と列番号が交差する位置の値を取り出す。MATCHと組み合わせてVLOOKUP以上の柔軟な検索に使う。=INDEX(データの範囲, 行番号, [列番号])=INDEX(B:B, 5)MATCH関数と組み合わせるのが基本。単独では行番号の指定が手動になるため、実用性は低い。
MATCH指定した値がリストの何番目(相対的な位置)**にあるかを調べる。INDEXと組み合わせて使い、「〇番目の顧客」といった位置情報を特定する。=MATCH(検索値, 検索対象の範囲, 検索の種類)=MATCH("田中商店", 顧客名簿, 0)検索の種類に 0 を指定すると完全一致検索になる。
FILTER条件に一致するデータを抽出し、新しい一覧表として自動で作成する。特定の期間の売上や、未入金の顧客だけを抽出したい場合に便利。=FILTER(配列, 含む, [空の場合])=FILTER(A:C, (B:B="未入金")*(C:C>50000))結果がスピル(溢れ出し)るため、出力先のセル範囲に他のデータがあると #SPILL! エラーが発生する。

🛠️ 応用テクニック:INDEX+MATCHでVLOOKUPの限界を超える

VLOOKUPの「左側検索ができない」という弱点を克服し、より高速かつ柔軟な検索を実現する、データ管理のプロ必須のテクニックです。

関数名目的・用途(説明)書式(入力方法)使用例注意事項
INDEX+MATCHVLOOKUPの弱点を克服し、検索対象の左側にある値や、複雑な条件での検索を実現する。=INDEX(データの範囲, MATCH(検索値, 検索対象の列, 0))=INDEX(B:B, MATCH("佐藤", A:A, 0))MATCHの検索種類0 にして完全一致検索にすること。データが大量になると計算負荷が高くなるため、パフォーマンスに注意が必要。
(応用:左検索)顧客名(右側の列)から顧客ID(左側の列)を参照するなど、VLOOKUPでは不可能な検索を実現。=INDEX(B:B, MATCH(A2, C:C, 0))=INDEX(顧客ID列, MATCH("田中商店", 顧客名列, 0))VLOOKUPと違い、データの並び順に左右されないため、データの配置変更に強い。
(応用:複数条件)複数の条件(例:A社かつ売上10万円以上)をすべて満たすデータを検索する。=INDEX(D:D, MATCH(1, (A:A="許可")*(B:B="IT"), 0))=INDEX(連絡先, MATCH(1, (業種="飲食")*(地域="新宿"), 0))配列数式として入力する場合、Ctrl + Shift + Enter で確定が必要な場合がある。

➕ 集計・計算:正確な経費・売上分析のための関数

正確な月次決算や経費の集計、売上の傾向分析など、経営判断に直結する数値処理に必須です。

関数名目的・用途(説明)書式(入力方法)使用例注意事項
SUM指定した範囲の合計を計算する。=SUM(数値1, [数値2], ...)=SUM(D2:D100)フィルターで非表示にした行の値も合計に含まれる。表示中のデータのみを集計したい場合は SUBTOTAL 関数を使う。
SUBTOTALオートフィルターや非表示の行を無視し、表示されているセルだけを対象に集計(合計、平均など)を行う。=SUBTOTAL(集計方法, 範囲)=SUBTOTAL(9, D2:D100)集計方法の番号(9:合計、1:平均など)の指定が必要。手動で非表示にした行は集計に含まれるため、アウトライン機能やフィルターと組み合わせて使う。
SUMIF特定の条件(例:部門が「営業」)に一致するデータのみの合計を計算する。=SUMIF(条件範囲, 検索条件, [合計範囲])=SUMIF(A:A, "広告費", B:B)条件範囲と合計範囲の行数・列数を一致させる必要がある。
SUMIFS複数の条件(例:部門が「営業」かつ費目が「交通費」)をすべて満たすデータのみの合計を計算する。=SUMIFS(合計対象範囲, 条件範囲1, 条件1, ...)=SUMIFS(D:D, A:A, "大阪", B:B, ">20000")SUMIFと引数の順番が異なる(合計対象が最初)ので注意。
COUNTIF特定の条件(例:ステータスが「完了」)に一致するセルの個数を数える。=COUNTIF(範囲, 検索条件)=COUNTIF(C:C, "未入金")処理件数の把握や、特定のステータスの件数確認に便利。
COUNTIFS複数の条件をすべて満たすセルの個数を数える。=COUNTIFS(条件範囲1, 条件1, ...)=COUNTIFS(B:B, "行政", C:C, "<10")複数の条件はすべてAND条件(同時に満たす)で処理される。OR条件は処理できない。
AVERAGE指定した範囲の平均値を計算する。=AVERAGE(数値1, [数値2], ...)=AVERAGE(E2:E50)範囲内に空白セルがあっても無視されるが、0 が入力されているセルは計算に含まれる。
ROUND数値を指定した桁数に四捨五入する。端数処理や消費税計算の誤差防止に必須。=ROUND(数値, 桁数)=ROUND(A2, 0)桁数に正の値を指定すると小数点以下、0 で整数、負の値を指定すると小数点以上(10の位、100の位など)で処理される。

💡 論理・判定:複雑なルール処理を自動化する関数

「もしAならばB、そうでなければC」といった業務フローや、自動メッセージ生成など、判断業務を自動化します。

関数名目的・用途(説明)書式(入力方法)使用例注意事項
IF単一の条件を設定し、条件を満たす場合と満たさない場合で異なる処理や値を返す。=IF(論理式, 真の場合, 偽の場合)=IF(B2>100000, "要確認", "通常処理")複雑な分岐には IFS を使用しないと、IF関数の入れ子が深くなり、式が非常に分かりにくい
IFS複数の条件を順に判定し、最初に真になった条件に対応する処理を返す。IFの入れ子構造を避けて、式をシンプルにする。=IFS(論理式1, 値1, [論理式2, 値2], ...)=IFS(A2<30, "小口", A2<100, "中口", TRUE, "大口")条件を上から順に判定するため、条件の記述順序に注意が必要。最後の条件を TRUE にすると、すべての条件に当てはまらない場合の処理を指定できる。
ANDすべての条件が満たされた場合に TRUE を返す。=AND(論理式1, [論理式2], ...)=IF(AND(B2="新規", C2<30), "早期対応", "保留")通常は IF関数の論理式として使用する。
ORいずれかの条件が満たされた場合に TRUE を返す。=OR(論理式1, [論理式2], ...)=IF(OR(D2="A", D2="B"), "特別対応", "通常")通常は IF関数の論理式として使用する。
IFERRORVLOOKUPなどが失敗し、計算式がエラー(#N/A、#DIV/0!など)になった場合に、指定した値(例:「データなし」)を表示する。=IFERROR(値, エラーの場合の値)=IFERROR(VLOOKUP(A2, B:D, 3, 0), "コードなし")どんな種類のエラーでもすべて同じ値を返すため、特定のエラーだけを区別したい場合は使えない。

📝 文字列・テキスト処理:データをクリーンアップ・整形する関数

顧客名簿のふりがな抽出、メールアドレスや住所のクリーンアップなど、データ入力のミスを修正し、正確性を高めます。

関数名目的・用途(説明)書式(入力方法)使用例注意事項
PHONETIC指定したセルに入力されている漢字のふりがな情報(読み仮名)を別のセルに取り出す。名簿の並べ替えや銀行振込先の確認に利用。=PHONETIC(参照)=PHONETIC(A2)抽出されるフリガナは、入力時にIMEが保持した情報に基づく。意図しない読みが表示された場合は、元の漢字のセルで「ふりがなの編集」を行い、修正する必要がある。
TEXTJOIN区切り文字(例:カンマ、スペース)を指定して複数の文字列やセルを結合する。空白セルを無視できるため、住所結合などに便利。=TEXTJOIN(" ", TRUE, A2:A5)=TEXTJOIN(" ", TRUE, A2:A5)複数のセル範囲をまとめて結合できるが、古いExcelバージョン(Excel 2019より前)では使えない。
CONCAT複数の文字列やセルを結合する。TEXTJOINがないバージョンでのシンプルな結合に。=CONCAT(文字列1, [文字列2], ...)=CONCAT(A2, " - ", B2)セル範囲は結合できず、セルを一つずつ指定する必要がある(TEXTJOINの使用が推奨)。
LEFT文字列の左端から指定した数の文字(例:郵便番号の上3桁)を取り出す。=LEFT(文字列, 文字数)=LEFT(B2, 3)文字数指定を省略すると、既定値の 1 が返る。
MID文字列の途中(指定した位置)から指定した数の文字を取り出す。=MID(文字列, 開始位置, 文字数)=MID(A2, 5, 2)開始位置と文字数の指定ミスはエラーの原因となる。
TRIM文字列の先頭・末尾・文字列間の余分なスペース(空白)を削除する。データ入力ミスによる検索エラーを防ぐ基本操作。=TRIM(文字列)=TRIM(A2)全角スペースや改行コードは削除されない場合があるため、完璧なクリーンアップには CLEANSUBSTITUTE の併用が必要。
CLEANデータ内に紛れ込んだ印刷できない制御文字(改行コードなど)を削除し、データ検索や連携時のエラーを防ぐ。=CLEAN(文字列)=CLEAN(A2)主に他のシステムからコピー&ペーストしたデータに含まれる、目に見えないゴミを除去する。全角/半角スペースは削除されない。
SUBSTITUTE指定した文字列内の特定の文字(例:ハイフン、全角スペース)を別の文字に置き換える。データ形式の統一に必須=SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象])=SUBSTITUTE(A2, "-", "")置き換え対象の文字列は大文字・小文字を区別する。特定の何番目の文字列だけを置き換えたい場合は、最後の引数を使う。
LEN文字列の文字数(長さ)を数える。=LEN(文字列)=LEN(A2)全角文字、半角文字、スペース(空白)をすべて1文字として数える。パスワードや入力項目の文字数チェックに利用。

🗓️ 日付・時刻:正確なスケジュールと期限の管理

請求書の支払い期限、契約満了日までの日数計算、営業日ベースのスケジュール調整など、経営のカレンダー管理に必須です。

関数名目的・用途(説明)書式(入力方法)使用例注意事項
NOWファイルを開いた時点の現在の日付と時刻を返す。作業開始時刻やデータの更新時刻を記録する際に使用。=NOW()=NOW()TODAY関数と同じく、ファイルを開くたび、または再計算のたびに日付と時刻が自動で更新される。値を固定したい場合は、Ctrl + ;(日付のみ)や Ctrl + :(時刻のみ)で入力する。
TODAYファイルを開いた時点の今日の日付を返す。常に最新の日付で「残り日数」を自動計算する際に使う。=TODAY()=B2 - TODAY()NOW関数と異なり、時刻情報は含まれない。日付を固定したい場合は、Ctrl + ; で入力する。
DATEDIF2つの日付間の期間(年、月、日)を計算する。従業員の勤続年数や、顧客との取引開始からの年数計算に便利。=DATEDIF(開始日, 終了日, 単位)=DATEDIF(A2, TODAY(), "Y")関数が非公開のため、入力時にサジェストが表示されない。スペルミスがないように注意して手入力する必要がある。
EOMONTH開始日から指定した月数後の月末日を求める。締め日から次の支払い期限の計算などに便利。=EOMONTH(開始日, 月数)=EOMONTH(TODAY(), 3)戻り値はシリアル値(数値)なので、セルの表示形式を「日付」に変更しないと「45000」などの数字で表示される。
NETWORKDAYS2つの日付間の営業日(土日を除く)を計算する。納期やプロジェクト期間を正確に把握できる。=NETWORKDAYS(開始日, 終了日, [祝日])=NETWORKDAYS(A2, B2, 祝日リスト)土日のみを休日と見なす。土日以外の休日を含める場合は NETWORKDAYS.INTL 関数を使う。

💡 まとめ:Excel関数で業務を「自動化」し、利益を生み出す時間を増やしましょう

本記事で紹介した関数は、中小企業や個人事業主の皆様が日常業務で直面する「データの検索」「集計」「期限管理」の課題を解決し、作業時間を大幅に短縮するために役立ちます。

特に以下の3つのポイントを押さえて、Excelを強力な経営ツールとして活用してください。

  1. 検索機能の強化:VLOOKUPだけでなく、XLOOKUPINDEX+MATCHを習得することで、データ検索の柔軟性と正確性が格段に向上します。
  2. 集計・分析の自動化SUMIFSCOUNTIFSで必要なデータだけを正確に集計し、SUBTOTALでフィルターをかけた状態での正確な分析を可能にします。
  3. ミスの徹底排除IFERRORで検索エラーを隠し、TRIMでデータ入力ミスによる無駄な時間を削減します。

これらの関数を積極的に活用することで、皆様が本当に利益を生み出す「考える時間」や「顧客に向き合う時間」を増やし、さらなる事業発展に繋がることを願っています。

今日から、使えそうな関数を一つだけ、自分の業務に組み込んでみましょう!

お問い合わせ

「うちの業務に最適化されたExcelツールを作ってほしい」「データ分析をもっと簡単にしたい」など、具体的なお悩みがあれば、まずはお気軽にご相談ください。