この記事では「Excelで条件に合う値を返す方法」について、以下のような場面を想定してわかりやすく解説していきます。
・指定した値に一致したらデータを反映【XLOOKUP関数】
・複数条件が一致したらデータを反映【INDEX関数 + MATCH関数】
・数値が一定の範囲にあるならデータを反映【FILTER関数】
実務でよく使われるサンプルをもとに、関数の使い方を見ていきましょう。
Excelで条件に合う値を返す(一致したら反映)方法【XLOOKUP関数】
まずは「一致するデータがあれば反映させる」基本パターンの紹介です。
例:社員IDから社員名を自動で表示したい
社員IDを入力したら、そのIDに該当する社員名を自動的に表示させたいというケースです。
これは社内の問い合わせ管理や社員データの確認などでもよく使われる処理です。
使用する関数:XLOOKUP関数
以下のような数式を使って処理します。
この数式の意味は以下の通りです。
A2:A4:検索対象の社員ID一覧です
B2:B4:返したい値(氏名)の範囲です。
“該当なし”:一致するIDが見つからなかった場合に表示されるメッセージです。
XLOOKUP関数は、VLOOKUP関数よりも柔軟性が高く、左側の列を検索することも可能です。
エラー処理も含めて使いやすいため、Excel 365以降をお使いの方におすすめです。
Excelで2つの複数条件に合う値を返す方法【INDEX関数 + MATCH関数】
続いては「複数の条件を満たす場合に値を返す」方法です。
例:社員の「部署」と「役職」が一致する場合に、社員名を返す
たとえば「営業部の課長は誰?」というように、2つの条件が両方一致するデータを取得したい場合は、INDEX関数とMATCH関数の組み合わせが便利です。
使用する関数:INDEX関数 + MATCH関数
以下のような数式を使います。
この式は、E2セルに入力された部署名、F2セルに入力された役職に一致するデータを検索し、氏名(A列)を返す仕組みです。
複数の条件を「*(かけ算)」で組み合わせて1つの配列にし、MATCH関数で「両方の条件を満たす最初の行番号」を探し、INDEX関数で該当行の氏名を返します。
なお、Excelのバージョンが古い場合は、この数式を入力後に「Ctrl + Shift + Enter」を押して配列数式として確定する必要があります。Excel 365以降であれば、通常のEnterキーでOKです。
Excelで点数が一定の範囲内にあるかどうかで値を返す方法【FILTER関数】
最後は、「点数が一定の範囲内にあるかどうか」という条件でデータを抽出したい場合の方法です。
例:成績表から「点数が70点以上90点未満」の生徒名を一覧表示
定期テストの結果から、C評価となる70点以上90点未満の生徒だけを抽出して表示させたいときに、使えるテクニックです。
使用する関数:FILTER関数
次のような数式を使って処理します。
この数式では、得点(B列)が70以上かつ90未満の行に該当する生徒名(A列)を一覧で返します。
実際に抽出される結果は以下の通りです。
FILTER関数は、条件に合ったデータをまとめて表示してくれる便利な関数で、Excel 365以降で使用可能です。数値の範囲条件でデータを抽出する際は非常に有効です。
まとめ Excelで条件に合う値を返す方法
この記事では、Excelで「条件に合う値を返す」方法について、以下のようなケース別に解説しました。
それぞれの関数を使い分けることで、手作業では時間がかかるデータ確認やフィルタリング作業を、効率よく自動化できます。
業務の効率化・ミス防止のためにも、ぜひこれらの関数を活用してみてください。
あなたの用途に合わせて応用していくことで、Excel作業がぐっとラクになりますよ。
コメント