まず押さえるべき「データ分析の下準備」―表を整える&ミスを減らす
Excelでのデータ分析は、関数を覚える前に「表が分析できる形になっているか」で勝負が決まります。逆に言うと、下準備さえ押さえれば、集計や比較の精度が一気に上がり、作業時間も減ります。20代の会社員がよくハマるのは「見た目は整っているのに、関数がうまく効かない」ケース。原因の多くは、データの作りが分析向きじゃないことです。
1) まずは“1行=1レコード”を徹底する
分析用の表は、1行に1件の記録(レコード)が鉄則。たとえば売上データなら「日付・担当・商品・数量・金額」が横に並び、次の売上は次の行へ。途中に小計行や空白行、結合セルがあると、集計系関数やピボットが途端に不安定になります。
- やらない:見出しが2段、途中に「◯月小計」、セル結合で体裁を作る
- やる:見出しは1行、データは連続、装飾はテーブルや書式で対応
2) Excelテーブル化で“壊れにくい表”にする
データ範囲を選んで Ctrl + T(テーブル化)すると、分析が一気にラクになります。テーブルは行を追加しても参照範囲が自動で伸びるので、「関数の範囲が途中までだった…」という凡ミスを減らせます。さらに見出し固定やフィルターも標準装備です。
テーブル名(例:Sales)を付けておくと、以降の関数が読みやすくなり、引き継ぎにも強くなります。
3) “データの型”を揃える:日付・数値・文字列の混在を潰す
同じ列なのに、日付が文字列だったり、数値が文字列(例:「1,000」が文字扱い)だったりすると、SUMしても合計が合わない、並べ替えが崩れるなどの事故が起きます。まずは次を確認しましょう。
- 日付列:表示が揃っているか(左寄せ=文字列の可能性)
- 数値列:不要なスペース、カンマ、通貨記号が混ざっていないか
- コード列:先頭ゼロが必要なら文字列として管理(例:社員番号)
怪しいときは、TRIM(余計な空白)やVALUE(文字列→数値)、DATEVALUE(文字列→日付)が後々効いてきます(使い所は後章で触れます)。
4) 入力ミスは“後で探す”より“先に防ぐ”
残業の原因になりがちな「入力の揺れ(表記ブレ)」は、データの入力規則で先回りして潰すのが正解です。担当者名や部署名などは、自由入力にすると「営業」「営業部」「(半角スペース)営業部」みたいなブレが起き、集計が割れます。
- 候補が決まっている列:プルダウン(リスト)を設定
- 数値の範囲が決まっている列:最小・最大を制限
- 日付列:日付のみ許可で誤入力を防ぐ
5) 最低限のチェック列を作ると分析が安定する
実務では、データが完璧な状態で来ることは稀です。そこでおすすめは、表の右端にチェック列を1本作ること。例として「必須項目が全部入っているか」を判定する列を用意しておくと、集計前に不良データをフィルターで弾けます。IFやISBLANKなどは次章以降で扱いますが、考え方としては「分析前に検品」を挟むイメージです。
ここまでの下準備ができると、次章のSUM/AVERAGE/COUNT系が“気持ちよく”決まります。関数のテクニックより、まずは表を分析できる形に整える。これがExcel分析の最短ルートです。
集計の基本を最短で―SUM/AVERAGE/COUNT系で全体像を掴む
1章で表が整ったら、次は「全体像」を一気に掴むパートです。細かい切り口の前に、まずは合計・平均・件数を出して、データの輪郭(規模感/相場/母数)を固めましょう。ここが曖昧なまま条件付き集計に入ると、「それっぽい数字」は出ても、判断がブレます。
1) SUM:最初に出すべき“会社の体温”
売上、工数、経費など、数値の列があるなら最初にSUMで合計を出します。テーブル化している場合は参照が読みやすく、範囲漏れも起きにくいのがメリットです。
=SUM(Sales[金額])
合計が出たら、次に確認したいのは「想定とズレてないか」。ズレる場合は、数値が文字列だったり、空白やエラーが混ざっていたりするサインです(下準備の“型”が効いてきます)。
2) AVERAGE:平均は“相場”だが、鵜呑みにしない
AVERAGEで平均を出すと、単価や1件あたりの規模感が見えます。
=AVERAGE(Sales[金額])
ただし平均は、極端に大きい/小さい値(外れ値)に引っ張られます。平均が妙に高い(低い)と感じたら、まずはデータの最大・最小をチェックして「外れ値っぽい行が混ざっていないか」を疑うのが実務的です(MAX/MINは補助で使うと便利)。
3) COUNT/COUNTA:件数は“母数”。ここを外すと全部ズレる
分析で地味に重要なのが件数です。COUNTは数値が入っているセルだけを数え、COUNTAは空白以外(文字も含む)を数えます。
=COUNT(Sales[金額]):金額が数値として入っている行数=COUNTA(Sales[商品]):商品名が入っている行数(空白チェックにも)
「売上件数のつもりでCOUNTしたら少ない」場合、金額列が文字列になっている、未入力がある、という発見につながります。つまり件数は、集計であると同時にデータ品質の検査にもなります。
4) COUNTBLANK:空欄の“見える化”で事故を防ぐ
提出前に一発で効くのがCOUNTBLANK。必須項目の空欄数を数えるだけで、「集計結果が合わない」事故をかなり減らせます。
=COUNTBLANK(Sales[担当])
空欄が0じゃないなら、次章以降の条件付き集計に入る前にフィルターで該当行を確認するのが安全です。
5) 実務の型:まず“3点セット”を作ってから深掘りする
迷ったら、集計シートの上部に次の3点セットを置いてください。
- 合計(SUM):規模感
- 平均(AVERAGE):相場
- 件数(COUNT/COUNTA):母数
この3つが揃うと「全体は伸びてるのに、件数が減って平均が上がってる」など、状況を言語化できるようになります。次章のIF/SUMIF(S)/COUNTIF(S)では、ここで掴んだ全体像を基準にして、部署別・商品別などの内訳と比較へ進めます。
条件付きで差がつく―IF/SUMIF(S)/COUNTIF(S)で“比較・内訳”を出す
2章で「合計・平均・件数」という全体像が掴めたら、次は条件を付けて内訳を出す番です。たとえば「営業部だけ」「A商品だけ」「今月だけ」など、“切り口”を変えて数字を並べると、同じ合計でも見える景色が一気に変わります。
ここで活躍するのが IF/SUMIF(S)/COUNTIF(S)。ポイントは、まず件数(COUNT)→合計(SUM)の順で確かめること。いきなり金額を集計すると、条件ミスや表記ブレに気づきにくいからです。
1) IF:まずは“判定列”を作って比較しやすくする
IFは「条件に合うならA、違うならB」を返す関数。実務では、分析用にフラグ列(分類列)を作る使い方が強いです。たとえば、金額が10万円以上を「高単価」として分けたいなら次のようにします。
=IF([@金額]>=100000,"高単価","通常")
この“ラベル”があるだけで、後のCOUNTIFやSUMIFで内訳を一発で出せます。さらに、1章で触れたチェック列もIFで作れます。例えば必須項目(担当・商品・金額)が揃っているかの検品なら、
=IF(OR([@担当]="",[@商品]="",[@金額]=""),"不備","OK")
集計前に「不備」だけフィルターで除外すれば、以降の数字が安定します。
2) SUMIF:条件1つの“合計”を最短で出す
部署別売上など、条件が1つならSUMIFが最短です。「営業部の売上合計」なら次の形。
=SUMIF(Sales[部署],"営業",Sales[金額])
条件セルを参照する形にしておくと、条件を差し替えるだけで数字が更新されて便利です。
=SUMIF(Sales[部署],$A2,Sales[金額])
(A2に「営業」「開発」などを並べておけば、部門別の一覧表が作れます)
3) SUMIFS:条件を重ねて“内訳”を切る(ここが実務の本丸)
実務でよくあるのは条件が2つ以上のケースです。たとえば「営業部×今月の売上」など。複数条件はSUMIFSを使います。
=SUMIFS(Sales[金額],Sales[部署],"営業",Sales[月],"2026-02")
条件が増えるほど、間違えやすいのは表記ブレ(例:「営業部」「営業」)や、日付が文字列になっているケース。1章の“型を揃える”が効いてきます。迷ったら、先にCOUNTIFSで該当件数が想定どおりか確認してから合計を出すのが安全です。
4) COUNTIF(S):比較の第一歩は“件数”から
「A商品は何件売れた?」「高単価は何件ある?」といった比較は、まず件数を出すとズレに気づけます。条件1つならCOUNTIF。
=COUNTIF(Sales[商品],"A")
条件が複数ならCOUNTIFS。
=COUNTIFS(Sales[部署],"営業",Sales[区分],"高単価")
件数が0や極端に少ない場合は、条件の指定ミスや表記ブレの可能性が高いです。ここで直しておけば、「合計は出たけど根拠が怪しい」状態を防げます。
5) 使い分けの型:まずCOUNT→次にSUM、最後にIFで整える
- IF:分析しやすい分類(区分/OK・NG)を作る
- COUNTIF(S):条件に合う“母数”を確認する(比較の土台)
- SUMIF(S):合計でインパクトを出す(内訳の結論)
この順で組むと、数字の説得力が上がり、上司からの「その件数、合ってる?」にも即答できます。次章では、こうして切り出したデータを別表と突合したり、担当者名や商品マスタを引っ張ってくるためのXLOOKUP(+INDEX/MATCH)に進みます。
データを探してつなげる―XLOOKUP(+INDEX/MATCH)で参照を自在に
条件付き集計で「部署別・商品別の数字」は出せても、実務だと必ず次の壁に当たります。別シートのマスタ(商品名、単価、担当者、部署…)と突合して情報を補完したい、またはコードしかないデータを“人が読める形”に戻したい、という壁です。ここを解決するのが参照系の王道、XLOOKUP(必要ならINDEX/MATCH)です。
1) XLOOKUPの基本:キーで探して「必要な列」を返す
たとえば売上データ(Sales)に「商品コード」しかなく、別シートの商品マスタ(Products)に「商品コード・商品名・カテゴリ」があるケース。売上表に商品名を付け足すならこうです。
=XLOOKUP([@商品コード],Products[商品コード],Products[商品名])
ポイントは探す値(キー)を決めること。現場でよく使うキーは「社員番号」「商品コード」「取引先コード」など、表記ブレしにくい値です。逆に「担当者名」で探すと、全角半角やスペースで事故りがち(1章の“型”が効くところ)。できるならコード運用が最強です。
2) 見つからないときに崩れない:第4引数でエラーを制御
マスタ未登録の商品が混ざると、参照結果が#N/Aになり、集計の見栄えも悪くなります。そんなときは「見つからない場合」を指定しておきます。
=XLOOKUP([@商品コード],Products[商品コード],Products[商品名],"未登録")
この“未登録”をフィルターすれば、マスタ整備漏れの検品にもなります。2章のCOUNTBLANKと同じく、参照系もデータ品質チェックに使えます。
3) 左方向も複数列もOK:VLOOKUPより事故りにくい
昔の定番はVLOOKUPですが、「検索列の右しか返せない」「列番号がズレると壊れる」という弱点がありました。XLOOKUPなら検索列の左右どちらでも返せますし、返す範囲も列名で指定できるので、マスタに列を追加しても壊れにくいです。
さらに、複数列を一気に返すこともできます(Excelの仕様によりスピルします)。
=XLOOKUP([@商品コード],Products[商品コード],Products[[商品名]:[カテゴリ]],"未登録")
4) INDEX/MATCHは“保険”:XLOOKUPが使えない環境で
会社のPCが古いExcelでXLOOKUPが使えないこともあります。その場合の保険がINDEX+MATCHです。やることは同じで、「MATCHで行番号を探し、INDEXでその位置を返す」だけ。
=INDEX(Products[商品名],MATCH([@商品コード],Products[商品コード],0))
0は完全一致。コード突合は基本これでOKです。
5) 実務での型:参照は“埋める→集計する”の順が最短
参照関数は、ピボットやSUMIFSの前に必要な情報を列として埋めるのがコツです。例:売上表に「商品名」「カテゴリ」「担当部署」などをXLOOKUPで付与 → その列を使って3章のCOUNTIFSやSUMIFSで内訳を作る。こうすると、条件式が読みやすくなり、上司から「そのカテゴリ定義どこ?」と聞かれても、マスタを指せば説明が終わります。
次章では、ここまで整ったデータをさらに扱いやすくするための日付・文字列・順位(TEXT/DATE系/RANKなど)をまとめます。集計の切り口を増やして、分析が一気にラクになります。
分析が一気にラクになる―日付・文字列・順位の必須関数(TEXT/DATE系/RANKなど)
1〜4章で「整える→集計する→条件で切る→マスタで補完する」まで来たら、最後の仕上げは“切り口を増やす部品”です。現場の分析が詰まりがちなのは、日付がバラバラだったり、文字の表記揺れで集計が割れたり、「結局誰が上位?」が一瞬で出せなかったりするところ。ここを日付・文字列・順位の関数で補強すると、ピボットを組む前でも判断できる表になります。
1) 日付を“分析用の軸”に分解する:YEAR/MONTH/DAY
売上や工数は、まず月次・週次で見たくなります。日付列(例:Sales[日付])から年・月を抜き出して列を作ると、3章のSUMIFSが安定します。
=YEAR([@日付])
=MONTH([@日付])
「年月」軸にしたいなら、次のDATE系が実務向きです。
2) “月初日”を作る:DATEで年月を揃える(文字列化より安全)
年月を"2026-02"みたいな文字で持つより、月初日(2026/2/1)として持つ方が、並べ替えや条件指定が壊れにくいです。
=DATE(YEAR([@日付]),MONTH([@日付]),1)
この列(例:Sales[月])を作っておけば、SUMIFSの条件もセル参照で統一できます。
3) 表示だけ整える:TEXT(ただし“集計の軸”にはしない)
TEXTは見た目を揃えるのに便利です。たとえば月次レポートで「2026年02月」と出したいなら。
=TEXT([@日付],"yyyy年mm月")
注意点は、TEXTの結果は文字列になること。集計や比較のキーは前述のDATEで作った“日付型”を使い、TEXTはラベル用途に留めるのが事故らない運用です。
4) 文字列の表記ブレを潰す:TRIM/CLEAN/UPPER&LOWER
部署名や担当名は、目に見えないスペースでCOUNTIFSが割れます。まずは空白を落とすTRIM。
=TRIM([@部署])
コピペ由来の変な改行・制御文字が混じるならCLEANもセットで。
=TRIM(CLEAN([@担当]))
英数字コードの大小が混ざる環境では、UPPER/LOWERで寄せてから突合(4章のXLOOKUP)すると堅いです。
5) “上位は誰?”を即答する:RANK.EQ(+同率対策)
上司が最後に聞くのはだいたい「トップは?ワーストは?」です。金額列に対して順位列を作れば一発で答えが出ます。
=RANK.EQ([@金額],Sales[金額],0)
0は大きい順。同率が多いと順位が飛ぶので、並び替えの補助に使うなら、二次キー(例:日付やID)も併用すると実務的です。
日付はDATEで軸を作り、表示はTEXTで整える。文字列はTRIM/CLEANで揃えて、最後にRANKで結論(上位)を出す。これだけで、Excel分析の“詰まりどころ”がかなり減ります。


コメント