いまさら聞けないExcelの使い方講座

【Excel】複数の関数を組み合わせてもっと便利に! 定番の3パターンをマスターしよう

関数は組み合わせるともっと便利になります

よく使う組み合わせパターンを覚えておこう

 業務でエクセルを利用する場面は、データ入力だけではありませんよね。条件を満たした時に何らかの処理を実行したり、関数の結果を利用して計算したりするはずです。多くの場合、関数を使うはずです。

 関数は1つずつ使うだけでも役立ちますが、“組み合わせ”こそが便利さを実感できます。とはいえ、どのように組み合わせればいいのか悩む人も少なくありません。そこで今回は、複数の関数を組み合わせる定番の3パターンであるネスト(入れ子)、演算に活用、文字列の連結をまとめて紹介します。

IF関数とAND関数を組み合わせたよくあるネストの数式の例

関数の引数に関数を指定する「ネスト」

 複数の関数を組み合わせる典型例が「ネスト(入れ子)」です。関数の引数として、別の関数や計算式、判定式を指定します。ただし、数式も長くなりがちで、苦手意識を持つ人もいるでしょう。

 ネストを理解するポイントは、それぞれの関数の結果がどのような形式(データ型)なのかを理解しておくことです。一般的に関数の結果は「数値」「文字列」「論理値(TRUE/FALSE)」のいずれかです。

 以下は、IF関数とAND関数を使って、複数条件を判定する例です。セルD2には「=IF(AND(B2>=70,C2<=2),"合格","不合格")」と入力してあります。AND関数の引数には、論理値を返す「B2>=70」といった判定式を指定することがほとんどです。すべて「TRUE」の場合に、AND関数の結果は「TRUE」となります。

 IF関数は条件式(ここではAND関数の数式の結果)が「TRUE」であるかどうかを判定して、結果を切り替えて表示します。

セルD2には「=IF(AND(B2>=70,C2<=2),"合格","不合格")」(①)と入力してあります。「70点以上、かつ、欠席が2回以下であれば」という条件です

 ただ、そもそもAND関数の中の「B2>=70」のような判定式が条件に合っているかわからないこともありますよね。別のセルで判定式の先頭に「=」を追加し、「=B2>=70」といったように入力してみてください。同様に「=C2<=2」も試してみましょう。それぞれ結果を確認したら、「=AND(B2>=70,C2<=2)」と入力してみます。

セルE2に「=B2>=70」(②)と入力しました。セルB2は「92」で70以上なので、結果は「TRUE」となります
セルF2に「=C2<=2」(③)と入力しました。セルC2は「0」で2以下なので、結果は「TRUE」となります
セルG2に「=AND(B2>=70,C2<=2)」(④)と入力しました。AND関数の引数に指定した「B2>=70」と「C2<=2」はどちらも「TRUE」なので、AND関数の結果も「TRUE」となります

 よくわからなくなったら、先頭に「=」を付けて別のセルに入力。結果を確認できたら数式に組み込んでいくと理解しやすいと思います。

関数の結果を演算に活用する

 関数の結果を対象に、さらに計算する処理はよくあります。もちろん結果のセルを参照して計算しても構いませんが、関数を直接組み込んだ数式もあります。そのように記述された数式を見た時にあわてないように覚えておきましょう。

セルE2に「=SUM(B2:B6)」(⑤)と入力されています。人数の合計です
セルE3に「=SUM(C2:C6)」(⑥)と入力されています。売上の合計です
セルE4に「=SUM(C2:C6)/SUM(B2:B6)」(⑦)と入力しました。単純に「売上÷人数」の計算です

関数の結果を文字列と連結する

 関数の結果を、任意の文字列と連結して利用することもあります。数式と「""」で囲んだ文字列を「&」演算子で連結します。なお、日付を連結する場合は注意が必要です。TEXT関数で書式を整えないと、シリアル値で表示されてしまいます。

 以下は、A列に連続する日付が入力されており、最新の日付までの合計来場者をメッセージとしてセルに表示する例です。「MAX(A:A)」は、A列のデータから日付の最大値、つまり最新の日付を求めています。「"yyyy/m/d"」は日付を整える書式です。

セルD1に「=TEXT(MAX(A:A),"yyyy/m/d") & "までの来場者数は" & SUM(B:B) & "人です"」(⑧)と入力してあります

 関数は組み合わせてこそ、本領を発揮するとも言えます。まずは今回紹介した3パターンを押さえ、日常業務の効率化にぜひ役立ててください。