エクセル必須関数10選:仕事と学校で本当によく使う関数

ほんの一握りの関数を使いこなせるだけで、日常的なエクセル業務の大部分をカバーできます。ここでは関数の名前だけでなく、実際にどう使うかを整理します。

SUMとAVERAGE:基本こそ正しく使う

=SUM(A1:A10)はセル範囲の合計を、=AVERAGE(A1:A10)は平均を求めます。よくある失敗は、新しいデータを追加したあとに範囲が最新の行を含まなくなってしまうことです。固定したセル範囲ではなく、列全体の参照やテーブル機能で作った名前付き範囲を使うと、気づかないうちに数式が古いままになるのを防げます。

IF:基本の条件分岐

=IF(条件, 真の場合の値, 偽の場合の値)は、条件を満たすときとそうでないときで異なる値を返します。例えば =IF(B2>=60, "合格", "不合格") のように使います。IF関数を複数入れ子にする方法もいくつかの条件までは使えますが、すぐに読みにくくなるため、その場合はIFS関数や検索系の関数を使うほうが扱いやすくなります。

VLOOKUP:別表から一致するデータを取り出す

=VLOOKUP(検索値, 範囲, 列番号, FALSE) は、指定した範囲の一番左の列から値を検索し、同じ行の指定した列の値を返します。ここでのFALSEの指定が重要で、完全一致を強制します。これを省略したり(あるいはTRUEを指定したり)すると、完全に一致するデータがない場合に、気づかないまま誤った行の値を返してしまうことがあります。

COUNTIF:条件に合うセルの個数を数える

=COUNTIF(範囲, 条件) は、範囲内で指定した条件を満たすセルの個数を数えます。例えば =COUNTIF(A1:A100, ">50") や =COUNTIF(B1:B100, "完了") のように使い、ピボットテーブルを作らなくてもすばやい集計ができます。

SUMIF:条件に合う値だけを合計する

=SUMIF(範囲, 条件, 合計範囲) は、範囲内で条件を満たす行に対応する合計範囲の値だけを合計します。例えばA列の地域が「西日本」に一致する行だけ、B列の売上金額を合計する、といった使い方ができます。

INDEX + MATCH:VLOOKUPより柔軟な代替手段

=INDEX(取得したい範囲, MATCH(検索値, 検索範囲, 0)) は、VLOOKUPと同じことができるだけでなく、右方向だけでなく左方向にも検索でき、列が挿入されたり並び替えられたりしても崩れません。MATCHがVLOOKUPのように固定の列番号を参照するのではなく、位置を動的に特定するためです。

VLOOKUPが思っている以上に壊れやすい理由

VLOOKUPは検索範囲内での列の位置を「番号」で参照しているため、その範囲内のどこかで列を挿入・削除すると、エラーメッセージが出ないまますべてのVLOOKUP数式の結果がずれてしまいます。数式自体は動き続けるので、ただ静かに間違った答えを返すだけです。この挙動こそが「昨日まで動いていたVLOOKUPが動かない」というトラブルの最も多い原因であり、規模が大きく頻繁に編集されるシートでINDEX+MATCHがよく勧められる主な理由でもあります。

関数を組み合わせてこそ真価が発揮される

実務では、これらの関数を単独だけで使うことはあまりありません。IFの中にCOUNTIFを入れ子にしたり、SUMIFの結果をVLOOKUPと組み合わせたりするのは、それぞれの関数に慣れてくるとよく見られるパターンです。まず各関数の構文を覚えることが第一歩で、特定の質問に答えるために2〜3個を組み合わせられるようになることこそが、日々の作業時間を実際に短縮してくれます。

よくある質問

VLOOKUPとINDEX+MATCH、実務上の違いは何ですか?

VLOOKUPのほうが書き方はシンプルで、小規模で変更の少ないシートには十分です。一方でINDEX+MATCHは、列の挿入で崩れることがなく、検索方向も左右どちらにも対応できるため、規模が大きい、あるいは頻繁に編集されるファイルにはより頑丈な選択肢です。

数式が #N/A や #VALUE! のようなエラーを表示するのはなぜですか?

#N/Aは、多くの場合、検索系の関数が一致する値を見つけられなかったことを意味します(余分なスペースやデータ型の不一致、単純な入力ミスが原因のことが多いです)。#VALUE!は、数値ではないもの(数値に見えるように書式設定されたテキストなど)に対して計算をしようとした場合によく発生します。