よしおのブログ

東北芸術工科大学企画構想学科OBOG会のひと・よしおが綴るアンオフィシャルな日報

エクセルこわくないよ講座(第1回:シチューはごはんにかけますか?)

学生のみなさんとプロジェクト関係のやりとりをしていて、「それエクセルファイルでもらえる?」とお願いすることがあります。プロジェクトは基本的に学生と先生のコミュニケーションで進めていくものなのですが、いわゆる「事務」「申請」「経理」の類については副手マターのものが多く*1、その処理の関係で「ごめんね〜、ワードじゃなくてエクセルで欲しいのよ〜」とお願いすることがしばしば。

 

ウチの学生たちは素直で真面目なので、本当はエクセルは得意でないのに「はい、すぐやります〜」と言ってエクセルにまとめ直してくれる学生もいるのですが、セルに打ち込んだ数字を電卓で手計算してまとめてくれててその健気さにいつも胸キュンことも少なくないのですが、そうは言ってもエクセルが使えたほうが何かと便利なので、簡単だけど使う機会の多い「IF関数」について紹介しておきますね。

 

 

IF関数とは

「IF関数」とは、「もし〜ならば」を集計するための関数です。言葉で説明してもピンとは来ないと思うので、実際に試してみましょうか。

 

たとえば仮に「シチューはごはんにかけますか?」というアンケートをとったとします。

f:id:kikaku-junbi:20171110121049p:plain

 

この手のアンケート集計ならば「ピボットテーブル 」を使ったほうが簡単なのですが、とりあえず今回は「IF関数」の紹介なので、IF関数で集計しようと思います。

 

さて、「シチューはごはんにかけますか?」というアンケートのうち、「ビーフシチューならかける」と回答した人数をIF関数を用いて集計する場合は、COUNTIFという関数を使います。使い方としては、【=COUNTIF(B3:B12,"ビーフシチューならかける")】という式を用います。" "に入っている文字列または条件を集計してくれる関数ですね。結果は…

 

f:id:kikaku-junbi:20171110124307p:plain

 

f:id:kikaku-junbi:20171110124331p:plain

 

このように、B3:B12の指定範囲にある「ビーフシチューならかける」という文字列に該当する件数を自動的に数えてくれます。この場合、2人の人が「ビーフシチューならかける」と回答したことがわかります。これを応用すると、"かける"で指定すれば「かける」と回答した人数を集計できるわけです。ちなみによしおはホワイトシチューでもごはんにかける派です。

 

IF関数を使ってイベントの出欠状況をまとめるには

このCOUNTIF関数を、例えば「忘年会の出欠状況確認」に用いるならば、条件指定の" "のところに◯とか△とか□を指定してあげれば、以下のように集計することができます。

 

f:id:kikaku-junbi:20171110121651p:plain

 

ね?手計算するより間違いがないでしょ?(例のごとく、この集計もピボットテーブルのほうがいいんですけどね)

 

IF関数を使って「以上」や「未満」を集計するには

これを応用して " "の条件指定さえ変えていけばいろんな集計に使えるのですが、例えば「以下」と「未満」で分けて集計することも難しくありません。

 

f:id:kikaku-junbi:20171110123458p:plain

 

この場合「18歳を含めるか、否か」を式で表さないといけないので、以下の式を用います。よしおはオタクじゃないので薄い本とか言われてもわかりませんし、18歳以上じゃないと読んじゃいけない薄い本があることも全く知らないのですが、真向かいのデスクに座っている副手がそう言ってたのでそうらしいです。

  • 18歳未満… COUNTIF(B3:B5,"<18")
  • 18歳以下…COUNTIF(B3:B5,"<=18")

  

これを応用すれば「会場までかかる交通費」を集計する際に「◯◯円以上の件数」「◯◯円以上・◯◯円未満」といった条件指定を行って集計することも可能です。

 

f:id:kikaku-junbi:20171110121949p:plain

 

条件指定の記述の仕方は以下の通りにしています。「◯◯以上・◯◯未満」という条件でIF関数を用いる場合は、通常のCOUNTIFではなくCOUNTIFSを用いるので注意が必要です。 

  • 500円未満…COUNTIF(B3:B8,"<500")
  • 500円以上・1000円未満…COUNTIFS(B3:B8,">=500",B3:B8,"<1000")
  • 1000円以上…COUNTIF(B3:B9,">1000")

 

 

 0をカウントせずに集計するには

なんとなくIF関数の使いみちが想像できましたか?

ところで集計作業を行うとき、「0をカウントせずに集計したい」という状況に出くわすことがあると思います。

 

f:id:kikaku-junbi:20171110125833p:plain

 

この場合、【=COUNTIF(B3:B8,"<>0")】と指定することで、B3:B8の範囲のうち0を含まない数字のみ集計してくれます。

 

f:id:kikaku-junbi:20171110130009p:plain

 

f:id:kikaku-junbi:20171110130028p:plain

 

ここまで【COUNTIF関数】でIF関数の有用性を紹介してきましたが、IF関数は他にも種類があります。例えば【AVERAGEIF関数】と、この項で説明した「0をカウントせずに集計する」と組みあせると、「0を含まない平均」を集計することができます。

 

 

f:id:kikaku-junbi:20171110130638p:plain

指定している関数は以下の通りです。

 

  • シチューをごはんにかけて食べた回数(平均)※0回含む…=AVERAGE(B3:B8)
  • シチューをごはんにかけて食べた回数(平均)※0回含まず…=AVERAGEIF(B3:B8,"<>0")

 

ね!IF関数って便利でしょ!

 

 

ちなみに、ずっと外国人の名前でサンプルを作っていて突然「桜木」という謎人物が出てきて驚かせてしまったと思いますが、スラムダンクネタではなくて、日本プロバスケットボールリーグB.LEAGUE1部でプレーする外国籍選手・帰化選手を北から順番に*2使ったので、このタイミングで桜木ジェイアールが登場したわけです。なんだかキリもいいところなので、第1回はここまでにします。みなさん、ぜひエクセルと仲良くなってくださいね。

 

 

*1:こう見えて源泉徴収10.21%云々の計算とかするんですよ

*2:ごめんなさい!!新潟アルビBBとばしちゃいました!!