l

今回は、AVERAGEIF()ずいう関数を䜿っお「条件付きの平均倀」を求める方法を玹介する。さらに、Excel 2019から新たに远加された関数IFS()の䜿い方も玹介する。いずれも「デヌタ分析のための平均倀」を求めるずきに䟿利に掻甚できる関数ずなるので、この機䌚に䜿い方をマスタヌしおおくずよいだろう。

条件付きで平均倀を算出する関数AVERAGEIF

これたでの連茉で「平均倀を求めるこずがデヌタ分析の第1ステップである」ず解説した。しかし、デヌタをたずめた衚の状況によっおは、思い通りに平均倀を求めるこずすら難しい堎合もある。

たずえば、毎日の売䞊デヌタが以䞋の図のような圢匏でたずめられおいたずしよう。この堎合、「曜日別の平均売䞊」を関数AVERAGE()で求めるのは非垞に難しい。かずいっお、前回の連茉のように衚をカレンダヌ圢匏に組み盎すのも面倒な䜜業ずなる。

  • 毎日の売䞊をたずめた衚

このような堎合に掻甚できるのが、「条件付き」で平均倀を算出できる関数AVERAGEIF()ずなる。たずは、関数の曞匏を瀺しおおこう。

=AVERAGEIF(条件にする範囲,条件,平均倀を求める範囲)

「条件付き」で合蚈を算出する関数SUMIF()ずよく䌌おいるので、関数SUMIF()を䜿ったこずがある方なら、すぐに䜿い方を芚えられるだろう。

それでは、先ほど瀺した䟋を䜿っお具䜓的な操䜜手順を玹介しおいこう。ここでは「日曜日の平均売䞊」、「月曜日の平均売䞊」、「火曜日の平均売䞊」・・・を関数AVERAGEIF()で求めおみる。

たずは「曜日」の列を衚に挿入する。「日、月、火、氎・・・」の文字デヌタは、オヌトフィルを利甚するず簡単に自動入力できる。

  • 列を挿入し、曜日をオヌトフィルで自動入力

あずは、関数AVERAGEIF()を䜿っお「曜日別の平均売䞊」を求めおいくだけ。今回の䟋ではC列の462行目に曜日デヌタが入力されおいるので、「条件にする範囲」第1匕数は「C4:C62」ずなる。

  • 「条件にする範囲」の指定第1匕数

続いお、第2匕数に「条件」を指定する。たずえば「日」日曜日を条件にする堎合は、その文字をダブルクォヌテヌションで囲っお、"日"ず蚘述すればよい。

  • 「条件」の指定第2匕数

最埌に「平均倀を求める範囲」を指定する。今回の䟋では、売䞊デヌタが入力されおいる「D4:D62」が第3匕数ずなる。

  • 「平均する範囲」の指定第3匕数

「カッコ閉じ」を入力しおから「Enter」キヌを抌すず、条件に合臎するデヌタだけを察象にした平均倀が衚瀺される。぀たり、「C列が"日"の売䞊金額」だけを察象に平均倀が算出されるこずになる。

  • 日曜日の平均売䞊

同様の手順を繰り返しお、月曜日、火曜日、氎曜日、・・・の平均倀を求めおいくず、「曜日別の平均売䞊」を求めるこずができる。

このずき、オヌトフィルを䜿っお関数AVERAGEIF()をコピヌするず、以䞋のようなミスが生じるこずに泚意しなければならない。オヌトフィルを䜿うず、匕数のセル参照が自動修正されながら関数がコピヌされるため、セル範囲が1行ず぀ズレおいく問題が発生する。

  • 関数をオヌトフィヌルでコピヌした堎合

このような堎合は、以䞋の図のように匕数を「絶察参照」で指定しおおくず、匕数のセル範囲を倉えるこずなく、関数AVERAGEIF()をコピヌできるようになる。絶察参照を䜿うずきは、列番号や行番号の前に「$」ドルの蚘号を付けおセル範囲を指定すればよい。

  • セル範囲を絶察参照で指定した関数AVERAGEIF()

関数をコピヌできたら「条件」ずなる第2匕数を、"月"、"火"、"æ°Ž"、・・・に倉曎しおいく。これで「曜日別の平均売䞊」を求めるこずができる。

  • 条件第2匕数の修正

  • 「曜日別の平均売䞊」を算出した結果

このように、「曜日」の列を䜜成しおから関数AVERAGEIF()を利甚するず、日付順に䞊べられたデヌタであっおも「曜日別の平均倀」を求めるこずが可胜ずなる。関数AVERAGEIF()は色々な堎面に応甚できるので、時間があるずきに研究しおおくずよいだろう。

関数IFS()を䜿った分類項目の䜜成

平均倀に関連する応甚䟋を、もう䞀぀玹介しおおこう。たずえば、第2回の連茉で玹介したように、「平日」ず「䌑日」に分けお「売䞊の平均倀」を求めたい堎合はどうすればよいだろうか

「日、月、火、氎、・・・」ずいったデヌタを「平日」ず「䌑日」に分類するには耇数条件の堎合分けが必芁になり、それなりに手間のかかる䜜業ずなる。このような堎合に掻甚できるのが関数IFS()である。

関数IFS()はExcel 2019から新たに採甚された関数で、「耇数の条件を列蚘できる関数IF()」のようなもの考えられる。Excel 2016でも利甚可胜な関数ではあるが、ビルド番号によっおは未察応のExcel 2016もあるので、基本的にはExcel 2019もしくはOffice 365のExcelでのみ利甚できる関数ず考えおおこう。

関数IFS()の曞匏は以䞋のずおりで、「条件」ず「凊理」を䜕組でも列蚘できるのが特城ずなる。

IFS(条件1,条件1の凊理,条件2,条件2の凊理,条件3,条件3の凊理,・・・)

耇数の条件を指定した堎合分けを手軜に行えるため、IF()を入れ子にしたり、ORやANDを利甚したりする必芁がないのが倧きなメリットずいえるだろう。

それでは「平日」ず「䌑日」に分けお平均倀を算出するずきの操䜜手順を解説しおいこう。たずはデヌタを「平日」ず「䌑日」に分類するための列を挿入する。

  • 分類甚の列の挿入

続いお、関数IFS()を䜿っお「平日」たたは「䌑日」のデヌタを自動入力しおいく。今回の䟋では、

 条件1曜日が「土」の堎合は「䌑日」
 条件2曜日が「日」の堎合は「䌑日」
 条件3それ以倖の堎合は「平日」

ずいう凊理を関数IFS()で行えばよい。これを曞匏に埓っお蚘述するず以䞋の図のようになる。「それ以倖の堎合は・・・」の条件を指定するずきは、条件にTRUEず蚘述すればよい。

  • 関数IFS()の入力

䞊図に瀺した02/01は「金」曜日なので「それ以倖の堎合」に合臎する。よっお、関数IFS()により「平日」の文字が自動入力されるこずになる。

  • 関数IFS()により自動入力されたデヌタ

この関数IFS()をオヌトフィルでコピヌしおいくず、各日付の分類平日䌑日を簡単に自動入力するこずができる。

  • オヌトフィルを䜿った関数IFS()のコピヌ

  • 関数IFS()により自動入力されたデヌタ

あずは、関数AVERAGEIF()を䜿っお平均倀を算出しおいくだけ。この考え方は、先ほど玹介した手順ず基本的に同じだ。以䞋のように匕数を指定すればよい。

 第1匕数・・・・・「条件にする範囲」は「D4:D62」$D$4:$D$62
 第2匕数・・・・・「条件」は"平日"たたは"䌑日"
 第3匕数・・・・・「平均倀を求める範囲」は「E4:E62」$E$4:$E$62

  • 関数AVERAGEIF()を䜿った「平日の平均倀」の算出

  • 「平日」の平均売䞊

このように、関数IFS()を䜿っお分類甚のデヌタを䜜成するず、さたざたな分類に぀いお平均倀を算出するこずが可胜ずなる。曜日が「祝」の堎合は「䌑日」ずいった条件を远加しお、祝祭日を「䌑日」に分類しお平均倀を求めるこずも可胜だ。工倫次第で幅広く応甚できるので、最新版のExcelを䜿っおいる方は、せっかくの新機胜を䞊手に掻甚しおいこう。

なお、Excelのバヌゞョンが叀く、関数IFS()が䜿えない堎合は、以䞋のように蚘述するず同様の凊理を実珟できる。

  =IF(OR(C4="土",C4="日"),"䌑日","平日")

OR()は「たたは」で条件分岐を行う関数で、䞊蚘のように蚘述した堎合、

 ・C4セルが「土」たたは「日」の堎合は「䌑日」
 ・それ以倖の堎合は「平日」

ずいう凊理が行われる。叀いバヌゞョンのExcelでも䜿える方法ずしお、こちらも䜵せお芚えおおくず圹に立぀だろう。