Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excel関数でよくある9つの間違いとその修正方法を徹底解説

Excel関数でよくある9つの間違いとその修正方法を徹底解説

Excelには強力な関数が数多く用意されていますが、日常的に使っていても、マッチモードの指定ミス、値ではなく書式設定された文字列との比較、表示形式による四捨五入を実際の数値の丸めと勘違いするなど、「小さな細部」から生まれるミスが最も頻繁に起こります。

この記事では、間違った使い方をされがちな9つのExcel関数を取り上げ、それぞれの問題点と正しい修正方法を詳しく解説します。

1. VLOOKUP――何にでも使うのはやめよう

間違った使い方:多くのユーザーは、より適切な関数がある場面でもVLOOKUPに頼りがちです。VLOOKUPは右方向しか検索できず、近似一致には並べ替えられたデータが必要で、元データに列を挿入すると参照が壊れるという弱点があります。さらにデフォルトは近似一致(TRUE)のため、最初の列が正しく並べ替えられていないと誤った結果を返すことがあります。

修正方法:Microsoft 365なら完全一致で使えるXLOOKUPへ、旧バージョンのExcelならINDEX+MATCHへの切り替えを検討しましょう。

INDEX/MATCHで柔軟な検索を実現:

  • セルを選択し、次の数式を入力すると特定の商品の価格を検索できます。
=INDEX(G2:G101, MATCH(L3, E2:E101, 0))

Excel関数でよくある9つの間違いとその修正方法を徹底解説

INDEX内で戻り値の列を自由に選べるため、いわゆる「左方向の検索」にも対応できます。

Excel 365ユーザーならXLOOKUPを活用:

  • セルを選択して次の数式を入力します。
=XLOOKUP(L3, E2:E101, G2:G101, "Not found", 0)

Excel関数でよくある9つの間違いとその修正方法を徹底解説

第5引数の「0」で完全一致を強制し、第4引数で見つからなかった場合のわかりやすいメッセージを表示できます。

  • 左右どちらの方向でも検索可能。
  • 列の挿入によって壊れない。
  • 大規模データセットでも効率的。
  • ロジックが明快で読みやすい。

2. SUMIF/SUMIFS――条件の書き方ミス

間違った使い方:演算子を条件文字列に直接書き込む(例:「>=2025-03-01」をそのままテキストとして記述)、criteria_rangeとsum_rangeの引数を混同する、あるいはA:Aのような列全体参照を使って計算速度を低下させる、といったパターンがよく見られます。

修正方法:範囲のサイズを揃え、演算子は文字列連結で組み立てます。日付フィルターにはDATE関数やEOMONTH関数を使うと堅牢になります。

  • 実際のデータ範囲だけを指定しましょう。高速かつ正確になります。
=SUMIF(D2:D101,"East",H2:H101)

Excel関数でよくある9つの間違いとその修正方法を徹底解説

  • 西地区の2025年3月の売上合計を出す例:
=SUMIFS(
H2:H101,
D2:D101, "West",
A2:A101, ">=" & DATE(2025,3,1),
A2:A101, "<=" & EOMONTH(DATE(2025,3,1),0)
)

Excel関数でよくある9つの間違いとその修正方法を徹底解説

この方法なら地域設定による不具合や文字列としての日付の問題を回避できます。sum_rangeと各criteria_rangeのサイズが必ず一致していることも確認しましょう。

プロのコツ:Excelテーブルと構造化参照を使えば、範囲が自動的に拡張されます。

3. IF文――ネスト地獄からの脱出

間違った使い方:ブール値を返す関数をわざわざTRUEと比較する(例:=IF(AND(E4="Y",F4="Y")=TRUE, …))ことや、単純な分類表のために深くネストしたIF文を作ることは、読みづらくメンテナンスも困難です。

修正方法:AND/OR関数のブール値はそのまま返しましょう。複数条件にはIFS、CHOOSE/MATCH、SWITCHなどを使うと、よりクリーンで管理しやすい数式になります。

  • すっきりしたブール判定の例:
=IF(AND(D2="East", F2>=3), "Bulk East", "Other")

Excel関数でよくある9つの間違いとその修正方法を徹底解説

  • IFSを使った複数条件の評価:
=IFS(F2:F101>=5, "High", F2:F101>=2, "Medium", TRUE, "Low")

Excel関数でよくある9つの間違いとその修正方法を徹底解説

  • CHOOSE/MATCHによるスマートな分類対応(例:J2の成績評価をGPAポイントに変換):
=CHOOSE(MATCH(J2, {"A","B","C","D","F"}, 0), 4,3,2,1,0)

深いIFピラミッドよりもシンプルで、ミスも起きにくくなります。

4. CONCATENATE――時代遅れのやり方

間違った使い方:非推奨となったCONCATENATE関数を使い続けたり、複雑な文字列結合のためにアンパサンド(&)を何重にもつなげたりするのは、煩雑でエラーのもとになります。

修正方法:新しいバージョンのExcelではTEXTJOINを使いましょう。区切り文字を指定しながら複数の値を効率よく結合できます。

  • TEXTJOINで区切り文字付きの複数値を結合する例:
=IF(L2="","", TEXTJOIN(", ", TRUE, FILTER(E$2:E$101, C$2:C$101=L2)))

Excel関数でよくある9つの間違いとその修正方法を徹底解説

単純な結合には&演算子で十分ですが、TEXTJOINが真価を発揮するのは以下のようなケースです。

  • 空白セルを自動的にスキップできる。
  • 同じ区切り文字を一括で適用できる。
  • セル範囲をまとめて結合できる。

5. COUNTIF――複数条件での効率を見落とさない

間違った使い方:COUNTIFで演算子を文字列連結せずにリテラルとして書いてしまう、大文字・小文字を区別すると誤解している、ワイルドカードを引用符で囲む必要があることを忘れる、などのミスがよくあります。また、複数条件なのに効率的なCOUNTIFSではなく、複数のCOUNTIFを足し合わせてしまうのも定番の間違いです。

修正方法:演算子は正しく連結します。大文字・小文字の区別や複雑な「部分一致」ロジックが必要な場合は、SUMPRODUCTやFILTERに切り替えましょう。

  • 「US-E」で始まるコードをカウントする例:
=COUNTIF(J2:J101, "US-E*")

Excel関数でよくある9つの間違いとその修正方法を徹底解説

  • 商品名に「phone」という語を含む注文をカウントする例(大文字・小文字は区別しない):
=SUMPRODUCT(--ISNUMBER(SEARCH("phone", E2:E101)))

Excel関数でよくある9つの間違いとその修正方法を徹底解説

大文字・小文字を区別した「部分一致」が必要な場合は、SEARCHをFINDに置き換えてください。

6. ROUND――丸めるタイミングを間違えない

間違った使い方:セルの表示形式を小数点以下2桁に設定すれば、計算に使われる元の値も丸められると思い込んでしまうケースです。表示形式は見た目を変えるだけで格納されている値は変わらないため、合計にズレが生じる原因になります。

修正方法:業務ルール上必要な段階で丸め処理を行います。ROUND、ROUNDUP、ROUNDDOWN、あるいはMROUND(指定刻みでの丸め)を使い分けましょう。

  • 行ごとの金額を丸める例:
=ROUND(F2:F101*G2:G101, 2)

Excel関数でよくある9つの間違いとその修正方法を徹底解説

  • 最も近い0.05に丸める例(現金決済の価格設定でよく使われます):

Excel関数でよくある9つの間違いとその修正方法を徹底解説

重要な原則:表示のために結果を丸めつつ、特別な理由がない限り中間計算では精度を維持することです。

7. TEXT関数と日付書式を計算に使う問題

間違った使い方:表示目的で値を文字列化し、その文字列ベースの結果を数学的計算に使おうとしたり、書式設定された日付文字列を本当の日付値と比較したりするパターンです。日付をテキスト扱いして、専用の日付関数ではなく複雑な文字列操作で処理することもよくあります。

修正方法:計算は生の数値に対して行います。TEXT関数はグラフタイトルやレポートラベルなど、最終的なプレゼンテーションの段階でのみ使用しましょう。

  • 実際の日付値に対して正しい日付関数を使う例:
=YEAR(A1)
=MONTH(A1)
=DAY(A1)
  • 数値を壊さずに月と合計額を表示するダッシュボードタイトルの例:
="March " & YEAR(DATE(2025,3,1)) & " Sales: " &
TEXT(SUMIFS(H$2:H$101, A$2:A$101, ">="&DATE(2025,3,1), A$2:A$101, "<="&EOMONTH(DATE(2025,3,1),0)),"$#,##0")

Excel関数でよくある9つの間違いとその修正方法を徹底解説

  • TEXT不要の堅牢な月別フィルター(日付を使用):
=SUMIFS(H$2:H$101, D$2:D$101, "East",
A$2:A$101, ">="&DATE(2025,3,1),
A$2:A$101, "<="&EOMONTH(DATE(2025,3,1),0))

Excel関数でよくある9つの間違いとその修正方法を徹底解説

8. SUMPRODUCT――型変換の忘れと、FILTERの方が読みやすいケース

間違った使い方:ブール値(TRUE/FALSE)配列を数値(1/0)に変換するのを忘れたり、サイズの異なる配列を組み合わせたりするケースです。逆に、最新のExcelならシンプルなSUM(FILTER(…))の組み合わせで済むのに、複雑なSUMPRODUCT数式を使って可読性を下げている場合もあります。

修正方法:二重単項マイナス(--)または1を掛けてTRUE/FALSEを強制的に1/0へ変換します。Microsoft 365では、複数条件の合計には透過的で読みやすいSUM+FILTERのパターンがおすすめです。

  • 東地区かつ商品名に「phone」を含み数量3以上の売上合計(旧環境互換):
    =SUMPRODUCT((D$2:D$101="East") * ISNUMBER(SEARCH("phone", E$2:E$101)) * (F$2:F$101>=3) * H$2:H$101)
    

    Excel関数でよくある9つの間違いとその修正方法を徹底解説

  • 同じロジックを動的配列(365/2021)で書いた例:
    =SUM(FILTER(H$2:H$101, (D$2:D$101="East")*(ISNUMBER(SEARCH("phone", E$2:E$101)))*(F$2:F$101>=3)) )
    

    Excel関数でよくある9つの間違いとその修正方法を徹底解説

FILTERでは条件式が1/0のゲートとして掛け合わされるため、結果が非常に読みやすくなります。

9. IFERROR――万能の絆創膏として使わない

間違った使い方:大きく複雑な数式全体をIFERROR(…,"")で包んで、すべてのエラーを握りつぶしてしまうパターンです。これは危険です。範囲名のスペルミスや本来の#DIV/0!エラー、気づくべき論理的な欠陥まで隠してしまう可能性があります。

修正方法:想定される具体的なエラーのみを捕捉します。検索関数では値が見つからない場合にIFNAを使い、空白セルへの対処は計算前にIF文で行いましょう。

  • 検索キーが空白なら空白を表示し、本当に該当がないときだけわかりやすいメッセージを表示する例:
=IF(L2="","", IFNA(XLOOKUP(L2, E$2:E$101, G$2:G$101),"No match"))

空白の場合:

Excel関数でよくある9つの間違いとその修正方法を徹底解説

一致なしの場合:

Excel関数でよくある9つの間違いとその修正方法を徹底解説

  • 変換対象があるときだけ文字列を数値に変換する例:
=IF(A2="", "", VALUE(A2))

こうすることで正当なゼロを保持しつつ、無関係なエラーを覆い隠すことを防げます。

ベストプラクティスまとめ

  • 適切なツールを選ぶ:より良い代替手段があるのに、慣れている関数に頼らないこと。
  • 範囲は具体的に指定する:必要がなければ列全体参照を避けること。
  • 保守性を意識する:他の人(そして未来の自分)が理解できる数式を書くこと。
  • 適切なデータ型を使う:日付は日付として、数値は数値として扱うこと。
  • 境界ケースをテストする:空白セル、エラー、予期しないデータへの対処を考えること。
  • Excelテーブルを活用する:構造化参照で動的な範囲を実現すること。
  • 常に最新を学ぶ:複雑な旧式の数式を置き換えられるExcel 365の新関数を習得すること。

まとめ

これらのよくある間違いを避けることで、より効率的で読みやすく信頼性の高いExcelスプレッドシートを作成できます。重要なポイントは、用途に合った関数を選ぶこと、条件や範囲を正確に指定すること、そしてデータ型を混在させないことです。数値に対しては計算を行い、書式関数は最終的な表示のためにのみ使います。古いチュートリアルから学んだ悪習を断ち切れば、数式のエラーが減るだけでなく、作業の保守性と理解のしやすさも大きく向上するでしょう。

無料のExcel上級練習問題(解答付き)はこちら!
  1. Excelで在庫データベースを作成する3つの簡単な方法

    この記事では、Excelで在庫データベースを作成する方法を解説します。在庫データベースは一般的に商品の管理・追跡に使用され、小売業者や販売者にとって商品記録を維持するために欠かせないものです。実は、特別なソフトウェアを使わなくても、Excelだけで簡単に在庫データベースを作成できます。今回は3つの簡単な方法をご紹介します。それでは早速始めましょう。 練習用ファイルのダウンロード こちらから練習用ファイルをダウンロードできます。 在庫データベースとは? 在庫データベースとは、商品の記録を保持し、回転率(在庫回転)を追跡するためのリストです。あらゆるビジネスにおいて重要な要素であり、在庫データベー

  2. Excelで列を移動する3つの方法!ドラッグ操作から一括並べ替えまで徹底解説

    この記事のポイントExcelで列を移動する最も簡単な方法は、列を選択してShiftキーを押しながら新しい位置へドラッグすることです。切り取り&貼り付けや、[データ]タブの並べ替え機能を使って列を並べ替えることも可能です。結合されたセルの一部となっている列は移動できないので注意しましょう。本記事では、マウスのドラッグ操作でExcelの列を移動する方法、切り取りと貼り付けで列を移動する方法、さらにデータの並べ替え機能を使って複数の列を一括で並べ替える方法を解説します。これらの手順は、Microsoft Excel 2019、2016、およびOffice 365のExcelで共通して利用できます。マ