IF関数(2) - 論理式のルールと使い方 [Excel関数リファレンス]

[書式] IF(論理式,真の場合,偽の場合)

[機能] 条件判断をおこない、論理式が TRUE か FALSE かによって違う計算をおこないます。

[引数] <論理式> TRUE か FALSE を返す計算式を指定します。

      <真の場合> 論理式が TRUE の場合の値や計算式を指定します。

      <偽の場合> 論理式が FALSE の場合の値や計算式を指定します。

                                                            

 

 

●●● 「 =1=1 」 さて、その計算結果は? ●●●

まずは、ちょっとしたクイズから・・・。

セルに

  =1=1

と入力しました。セルの計算結果はどうなるでしょう・・・?

 

IF関数を使いこなせるかどうかは、「論理式」の理解がポイントとなります。

そこでIF関数の冒頭に、このような問題を出してみたのですが、いかがでしょうか。

 

 

●●● 論理式って何なの? ●●●

さて、クイズの答えは後まわしにして、

まずは「論理式」とは何か、考えていきましょう。

 

ひとことで言ってしまえば、論理式とは

 「計算結果として TRUE か FALSE のいずれかを返す計算式

のことです。

 

そしてこの論理式は、おおむね次の2つのケースのいずれかです。

  ● 比較演算子を使った論理式

  ● IS関数を使った論理式

 

  

●●● 「比較演算子」を使った論理式 ●●●

比較演算子には次の6種類があります。

=   (等しい)
>   (大なり)
<   (小なり)
>=  (以上)
<=  (以下)
<>  (等しくない) 

 「そんなこと知ってるよ」 という声が聞こえてきそうですが・・・。

 

さて、ではさきほどのクイズに戻りましょう。

  =1=1

と入力すると、どうなか。

エラー??

 

そんなことはないです。きちんと計算がおこなわれます。そして、

  TRUE

と表示されます。 

比較演算子_1.jpg

 

さて、ではこの計算式の意味はどういうことなのでしょうか。

 

この計算式には「=」が2つありますね・・・・・でも、その2つは別物です。

最初の「=」は、「これは計算式だよ」ということを示す「=」です。

計算式を入力する時は、いつも最初に「=」を入力しますよね。その「=」です。

 

そして2番目の「=」が、比較演算子の「=」なのです。

 

ということで、お分かりでしょうか。この計算式は、

 

  「1と1は等しいか?」

 

ということを計算しているのです。

もちろん1と1は等しいですから、真となり、

計算結果として「TRUE」が表示されたわけです。

 

このように、比較演算子を利用して TRUE か FALSE を返す計算式が「論理式」です。

IF関数では、この「論理式」を、第1引数に指定します。そして、

それが TRUE だったら第2引数、FALSE だったら 第3引数の値が出力されるのです。

 

 

 

●●● 「IS関数」を使った論理式 ●●●

演算子ばかりでなく、関数でも TRUE や FALSE を計算結果として返すものがあります。

代表的なものに、IS関数と呼ばれている次のような関数があります。

ISBLANK
ISERR
ISERROR
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISREF
ISTEXT

 

これらの関数は、

  ISNUMBER(テストの対象)

といった使い方をします。

たとえば ISNUMBER関数は、指定した値が数値かどうかを調べ、

数値なら TRUE そうでなければ FALSE を返す関数です。

 

IS関数_1.jpg

上図では、セルB3に

  =ISNUMBER(B1)

と入力されています。

セルB1には数値が入力されているので、計算結果が TRUE となります。

 

 

●●● IF関数の、もっともシンプルな例 ●●●

では、上記の

  =ISNUMBER(B1)

に IF関数を使ってみましょう。

 

ここでは、まずもっともシンプルな例で。

B3 の計算式を

  =IF(ISNUMBER(B1),"数字だよ","数字じゃないっしょ!!")

なんてふうにしてみます。

 

IF関数_1.jpg

B1 が数値なら、こんな計算結果。

 

IF関数_2.jpg

数値でなければ、こんな計算結果になります。

 

条件式が TRUE を返している時には第2引数を、

FALSE を返している時には第3引数を、ちゃんと計算結果として出力していますね。

 

IF関数は、さまざまな局面で活用できる、とても重要な関数です。

どんなに簡単に思えても、まずは基本からしっかり理解するのがいいと思います。