英語の意味の通り「もし~ならば」
IF関数は、そのまま「もし~なら」という事を解決する数式です。 エクセル内で使用する場合はこの式を使い表示します。
=IF(論理式, 真の場合, 偽の場合)
はい、いきなりこういうの出しちゃうあたりダメですね、噛み砕きましょう。イフ関数を使いたい時って「この条件に合うもの」に「何か印付けたい」だけだと思います。例えばB1のセルに「0より大きい」数字が入っていたら「〇」を表示させたい、その他の場合は空白で良い。とした場合
① もし指定したセルが0より大きい場合は〇を、それ以外なら空白
=IF(B1>0,”〇”,””)
と、なります。(この場合はC1~C5のセルに作成しました。)
真の場合、偽の場合に”(ダブルクォーテーション)が二つ使われていますが、表示するモノが「計算式もしくは数字」なのか「言葉(文字列)」なのかによって使い分ける必要があります。今回の①は言葉(文字列)を返している為、もしこの「”」を真にも偽にも付けないで作成した場合。
真の場合/0より大きい だと、#NAME?「無効な名前のエラー」が起き
偽の場合/それ以外 は標準の状態だと「0」が表示されます。
こういうエラーメッセージを見ちゃうと「関数は素人が触るものじゃない」雰囲気を醸し出しますが、気にしてはいけません、知っていればどうという事はありません。
ちなみに表示させたいものが「計算式もしくは数字」だった場合は「”」無しで入れた数値がセルの書式設定の通り表示されます。
Excelの関数で使用する場合の不等号が出たので、ついでに。
関数を使用する時には結構使うのですが、=付けるの左右どっちだっけ?や等しくない時って内向き外向きどっちだっけ?となってしまう為不等号の備忘録。
A = B → AとBは等しい
A > B → AはBより大きい(等しい数値は含まない)
A < B → AはBより小さい(等しい数値は含まない)
A <> B → AはBと等しくない
A >= B → AはB以上(等しい数値を含む)
A <= B → AはB以下(等しい数値を含む)
言葉的には当然だが「より大きい」場合0より大きいなら0は含まないし、「以上」の場合は0は含んで表示する。
② もし指定したセルに指定の文字が入っていたら成功、それ以外を確認したい
=IF(B1=”〇”,”成功”,”◆確認◆”)
と、なります。(この場合はC1~C4のセルに作成しました。)
「言葉(文字列)」を指定して、比較して表示しれくれるので、これを応用していく事で、時短に、効率的になっていく基本ですね。
ちなみに東京都の都だけ、神奈川県の県だけを指定して比較することも可能です。FIND関数やRIGHT関数とLEFT関数を組み合わせて利用すると良いです。
例:B1セルの「東京都」に「都」があるか知りたい(FIND関数編)
=FIND(“都”,B1) 表示「3」(都が入っていないものにはエラー#VALUE!)
例:B1セルの「東京都」に「都」があるか知りたい(RIGHT関数編)
=RIGHT(B1,1) 表示「都」(別のセルにコピーすると一番右の1つを取得)
FINDはIFERRORと組み合わせて使いたいし、RIGHT・LEFTはTRUE・FALSEを理解して使いたいし…別で記事が出来たらリンクするのでそれまでお待ちください…sorry
③ IF関数を2回以上使って絞り込みたい(複数条件で分岐、絞込)
=IF(B2>60,IF(B2>80,$F$2,$F$3),IF(B2>40,$F$4,$F$5))
と、なります。
真の場合の中にIF、偽の場合の中にIFを入れていくことで、延々と条件を増やしていくことが可能です、複数条件を一つのセルの中でしてしまえば、表がとてもスッキリしますし、分析もしやすくなります。
ちなみに$マークで挟んでいるのは絶対参照と言い、セルで連続データを作る時、セル参照も一緒に動いてしまうので、固定しようっていう仕組みです、条件から参照するときに使うと便利ですね。
絶対参照には①$固定参照$、②縦列のみ$固定、③横列のみ固定$の3つがあり、$マークの位置で決まります、F4で付くので、試してみましょう、これはまた詳しく説明します。
今回の結果を取得したいだけの場合は別の表を用意し、IFで見えなくしてからMINで取得するなど別の方法でも可能です。
色々試していくとプログラムを組んでも行えないような複雑な条件も解決出来たりして、面白いですよ。
④ 遊び編:絶対勝てないじゃんけんをしよう!(ぇ
=IF(B3=”グー”,”パー”,IF(B3=”チョキ”,”グー”,”チョキ”))
はい、勝てるわけないですね。
イマカラ先生はグーならパー、チョキならグー、それ以外はチョキを出してきます。3種類しか技の無いジャンケンでは、全てに対して手を打つと、IFが3つ必要になりますが、その後の拡張性を考えなければ、今回のようにIFは2つで対応可能です。細かい事ですが、処理が長くなればなるほどエラーや思わぬ動作をする可能性も高くなります、もちろん短いから精度が上がるというわけではありませんが、作業の引継ぎや説明は圧倒的に楽になります。
というように、結果出来てしまえば良いので、あるモノ(元データ)でどのようにして目的を達成するかを考えていくのが関数との上手な付き合い方かもしれませんね。
まだまだ拡張性のある記事なので、他の関数の記事を作成しながら編集していこうと思います。
コメント