Excel初心者 Stage3|IF関数とVLOOKUP・XLOOKUP

Excel初心者シリーズ Stage3 PC・Mac

【PR】本記事にはアフィリエイトリンクが含まれます。

SUMやAVERAGEは使えるようになった。次は「条件で動きを変える」「他のシートからデータを引っ張る」をマスターしたい。本記事は5段階シリーズの Stage 3 です。結論として、IF関数とVLOOKUP/XLOOKUPの2つを覚えれば、Excelは「事務の道具」から「業務の武器」に変わります

※ 前提知識として Stage 2(表と関数の基本) を済ませてください。次は Stage 4(ピボットテーブルとグラフ) に進みます。

事前準備:絶対参照「$」の使い方

Stage 3 では VLOOKUP や SUMIFS で範囲を「$D$2:$E$100」のように $ 付きで書きます。これは「セルをコピーしても範囲が動かない」という意味です。

  • D2:相対参照(コピー時にずれる)
  • $D$2:絶対参照(コピー時に固定)
  • $D2 / D$2:複合参照(列だけ固定 / 行だけ固定)

キーボードショートカット F4 を押すと、相対参照と絶対参照を順番に切り替えられます。「数式をコピーしても範囲がズレない」ようにするための重要な仕組みです。詳しくは Stage 5 で解説しますが、本記事では「$ がついていたら『そこは固定』」と覚えれば進められます。

Stage 3 で覚えること

  1. IF関数で条件分岐(YES/NO)
  2. COUNTIF / SUMIF で「条件付き集計」
  3. VLOOKUP / XLOOKUP でデータ検索
  4. IFERROR でエラー対策

IF関数:「もし〜なら」を表現する

=IF(条件, 真の時の値, 偽の時の値)

例:売上が¥1,000以上なら「達成」、未満なら「未達」

=IF(B2>=1000, "達成", "未達")

B2 の値で「達成」または「未達」が自動で表示されます。営業の目標管理、テストの合否判定など、業務で頻出します。

応用:IF を入れ子にする(複数条件)

=IF(B2>=2000, "S", IF(B2>=1000, "A", IF(B2>=500, "B", "C")))

これで4段階のランク付けができます。ただし、入れ子が深くなると読みにくくなるので、4階層以上は IFS 関数に移行するのが現代のスタイルです。

=IFS(B2>=2000, "S", B2>=1000, "A", B2>=500, "B", TRUE, "C")

※ IFS関数はExcel 2019以降で使えます。それより古いバージョンでは IF のネストで対応してください。

COUNTIF / SUMIF:「条件に合うデータだけ集計」

COUNTIF:条件に合う件数を数える

=COUNTIF(B2:B100, "達成")

「達成」と書かれたセルの数を返します。「営業目標を達成した人数」を数える時に使います。

SUMIF:条件に合うものだけ合計

=SUMIF(A2:A100, "りんご", B2:B100)

A列が「りんご」の行だけ、対応するB列の値を合計します。商品別の売上集計などに使います。

SUMIFS:複数条件で合計

=SUMIFS(B2:B100, A2:A100, "りんご", C2:C100, "東京")

「りんご × 東京」の組み合わせだけを合計します。SUMIF より新しい関数で、引数の順番が違うので注意してください(集計対象が最初、条件が後)。

VLOOKUP / XLOOKUP:データを引っ張る

「商品コードから商品名を取得」のような、別の表から値を持ってくる関数です。詳細は VLOOKUP完全マニュアル を参照してください。基本だけ示します。

VLOOKUP の基本

=VLOOKUP(検索値, 範囲, 列番号, FALSE)

例:A2 の商品コードを D列で検索して、E列の商品名を返す

=VLOOKUP(A2, $D$2:$E$100, 2, FALSE)

第4引数の FALSE は「完全一致で検索する」という意味です。TRUE を指定すると「近似一致」になり、業務ではほぼ使いません。VLOOKUP では必ず FALSE を書く、と覚えておけば事故が減ります。

XLOOKUP の基本(Excel 2021以降)

=XLOOKUP(A2, $D$2:$D$100, $E$2:$E$100, "該当なし")

VLOOKUP より直感的で、見つからない時の値も指定できます。Microsoft 365 を使っているなら、新規はすべてXLOOKUP推奨です。

IFERROR でエラー対策

VLOOKUP で値が見つからないと「#N/A」エラーが出ます。これを「該当なし」と表示するには IFERROR でラップします。

=IFERROR(VLOOKUP(A2, $D$2:$E$100, 2, FALSE), "該当なし")

エラー処理を慣習化しておくと、上司や同僚にシートを渡した時の信頼度が上がります。

練習問題(3ステップで)

STEP 1:IF関数だけの練習

A列に売上、B列に「達成/未達」を表示

=IF(A2>=1000, "達成", "未達")

STEP 2:VLOOKUPだけの練習

G2:H10 にマスタ表(G列=コード、H列=商品名)を作ってから:

=VLOOKUP(A2, $G$2:$H$10, 2, FALSE)

STEP 3:組み合わせの練習

STEP 1とSTEP 2が動くようになったら、ランク判定と商品名取得を1つの行で組み合わせます。

よくある詰まりポイント

症状 対処
IFの条件式が動かない 「>=1000」のような不等号、文字列は “達成” のようにダブルクォート
SUMIFが0を返す 条件の表記揺れ(全角/半角・スペース)を確認
VLOOKUPで#N/A 検索値の前後にスペース、データ型の不一致
セルをコピーすると範囲がズレる $で絶対参照に

次のステップ

関数の使い分けに慣れたら、Stage 4:ピボットテーブルとグラフ へ。データ集計・可視化のスキルを身につけると、業務報告書のクオリティが一気に上がります。

関連:

タイトルとURLをコピーしました