きゃしーの必殺エクセル関数~ifを使いこなして1秒でも早く帰る~
こんにちは。きゃしーです。
随分と間があいてしまいましたので、まずは復習がてらリンクを張っておきます。
きゃしーの必殺エクセル関数 ~ショートカットを使って1秒でも早く帰る~
きゃしーの必殺エクセル関数~みんな大好きVLOOKUPで1秒でも早く帰る~
VLOOKUP編で書いた VLOOKUPをコピーするときの小技「F4」 は、今回も使うのでぜひ復習をお願いします。
今日は if という魔法の関数(大げさ)。でも、「Aの場合は○○をする、Bの場合はXXをする」という場面で、この if が変装してちょくちょく顔を出すから絶対に覚えておいてほしい。
if を一言でいうと
条件に一致しているならば、これを実行する、違うならこっちを実行する
プログラム風に書くなら
if ( 条件 ) {
一致していたらこれを実行
} else {
一致していなければこっちを実行
}
こんな感じ。
if を取り合えず見てみよう
年齢が20歳以上であれば大人、そうでなければ子どもとD列に表示したい場合にこんな感じで書ける。今は「大人」「子ども」という文字を出力するようにしているけれど、その部分にさらに関数を入力することもできる。
20歳以上で国外に住んでいる人は入場料が無料のご招待、大人は1000円、子どもは300円。こんな感じで受付表がサクッと作れる。
=IF(C4>=20,IF(D4="国外","ご招待","1000"),"300")
クーポンありなら10%オフにするのも関数なら簡単
=IF(F7="あり",G7*0.9,G7)
そしてここからが本番。...の前に
COUNT , SUM を覚えよう
COUNT ⇒ 数値のあるセルの数を数える
COUNTA ⇒ 空白じゃないセルの数を数える(ついでに覚えると便利)
SUM ⇒ 範囲の合計値を計算する
申込件数を数えるなら名前の範囲を指定してCOUNTA (名前欄は必須入力とする)
=COUNTA(C7:C21)
子連れの申し込み件数を数えるなら子供の人数の範囲を指定してCOUNT
=COUNT(E7:E21)
大人の申し込み合計人数を計算するなら大人の人数の範囲を指定して SUM
=SUM(D7:D21)
ここまではOK? では IF を使いこなしていくよー!
IF はCOUNTにもSUMにも変身する
COUNTIF ⇒ 条件に一致した場合のセルの数を数える
= COUNTIF ( 範囲 , 条件)
売上数の表があり、その売上数が月間売上目標を上回っている月(目標達成月数)を計算するには
=COUNTIF(B3:G3, ">100" )
ポイントは条件部分は文字列にしなきゃならない。
なので、JK列の月間売上目標の表を作って値をそこで管理したい場合は
=COUNTIF(B3:G3, ">"&K3)
として、「&」を使って文字列を連結するといい。
SUMIF ⇒ 条件に一致した場合のセルの合計を計算する
= SUMIF ( 範囲 , 検索条件 , 合計範囲)
同じ売上表で、商品それぞれの売上合計数を計算するには
= SUMIF ($A:$A , $J3 , C:C )
( ※2020/02の商品Aの売り上げ総数を計算する例 )
商品Aという文字列を検索して条件が一致した場合に、合計範囲にある同じ行の値をSUMしていく。
IF にはまだまだ親戚がいる
実はまだ IF の親戚がいます。IFEEOR , IFNA , IFS... COUNTIFS , SUMIFS ...
IFERROR , IFNA はかなり役に立つので、次回はこのあたりを駆使してVLOOKUPでデータが見つからなかったときに「#N/A」になっちゃうのを解決する方法でお会いしましょう。
時間かかるので1週間に1本書けるか書けないかという瀬戸際です。
Twitterでは気軽に質問を受け付けていますので、いつでもどうぞ。