2008年10月アーカイブ

[書式] 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関数は、さまざまな局面で活用できる、とても重要な関数です。

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

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

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

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

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

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

                                                            

 

 

●●● 解 説 ●●●

<論理式> が TRUE なら <真の場合> を、FALSE なら <偽の場合> を出力します。

 

[数式例 1]

B列の値が60未満なら「追試」、それ以外なら空白を表示する計算式です。

セル C2 に

  =IF(B2<60,"追試","")

と入力し、下方向にコピーしています。

IF関数_F1.jpg

 

 

 

[数式例 2]

B列の値がセルB13の値以下なら「再試験」、それ以外なら「合格」と表示する計算式です。

セル C2 に

  =IF(B2<=$B$13,"再試験","合格")

と入力し、下方向にコピーしています。

$B$13絶対参照で指定しているので、下方向へコピーしても変化しません。)

IF関数_F2.jpg

 

 

[数式例 3]

IF関数を入れ子(関数の中に関数を使うこと)にして利用した例です。

「中間」より「期末」が低ければ「↓」、高ければ「↑」、同じなら「→」と表示する計算式です。

セル D2 に

  =IF(B2>C2,"↓",IF(B2<C2,"↑","→"))

と入力し、下方向にコピーしています。

IF関数_F3.jpg

  

[書式] SUM(数値 1,数値 2,...)

[機能] 合計を計算します。

[引数] 合計したい数値やセル、セル範囲を指定します。

      引数は1~30個まで(Excel 2007では1~255個まで)指定できます。

                                                            

 

SUM と 「+」 の違いって?

おなじみのSUM関数ですが、演算子の「+」との違いって、わかりますか?

  「+はひとつずつ指定して足していくけど、

       SUM関数ならまとめてセル範囲を合計できる」

多くの場合、このような答えが返ってくるかもしれません。

そう、確かにそのとおりなんです。

 

でも実は、SUM関数にはもうひとつ、とても便利な性質があります。

  「数値以外のセルを無視してくれる

という性質です。

 

それを利用したいために、たったひとつのセルに対してSUM関数を使うことだってあります。

  「え? なんでわざわざそんな事を・・・」

と思うかもしれません。でもちゃんとした目的があるんです。

 

その目的は・・・

   「計算元が数値以外の値になった場合の、エラー回避」です。

 

 

さて、察しのいい方はもうおわかりかもしれません。たとえば、次のようなケースです。

SUM関数_1.jpg

[C7の計算式]  =A3+C3

社内のルールが、

  「追加手数料がある場合はその金額を、ない場合は「該当なし」と表記する」

というものだったとします。上図のように「+」を使って計算するとエラーになってしまいます。

 

こんな場合、Excelに馴れている方は次のような計算式を考えるかもしれません。

SUM関数_2.jpg

[C7の計算式]  =A3+IF(ISNUMBER(C3),C3,0)

  「C3が数値ならC3を、そうでなければ0を足す」

これ、正解です! とても論理的な、基本に沿った対処方法ですね。

 

でも一方で、SUM関数を使った、こんな簡単な方法もあるんです。

 SUM関数_3.jpg

[C7の計算式]  =SUM(A3,C3)

ちょっと、あっけないくらいですが・・・。

もちろん

  =A3+SUM(C3)

なんていう計算式でもOKです。

 

以上、SUM関数を活用をした、エラー回避法でした。 

[Excel関数リファレンス] -INDEX-

◆ SUM関数 - 合計

◆ IF関数(1) - 条件判断の基礎

◆ IF関数(2) - 論理式のルールと使い方

◆ VLOOKUP関数(1) - セル範囲検索<TRUE指定>

◆ VLOOKUP関数(2) - セル範囲検索<FALSE指定>

◆ VLOOKUP関数(3) - セル範囲検索<エラー表示の処理>

◆ COUNTIF関数(1) - 条件の書き方・使い方

◆ COUNTIF関数(2) - 実践的活用例

◆ COUNTIF関数(3) - 重複を調べる・削除する

◆ COUNTIF関数(4) - 重複をチェックする・禁止する

◆ COUNTIF関数(5) - リストの照合・リストによる入力チェック

◆ WEEKDAY関数 - 曜日に色を付ける

◆ DATE関数 - 年月日で変化する日程表

◆ TIME関数 - 時間計算の基本を理解する

◆ TODAY関数 - 今日の日付を求める

◆ FLOOR関数 - 時間の切り捨てと、桁落ち注意

(まだ途中です)

 

◆ <番外編> 『ざっくり集計シート』 【ダウンロードファイル有】(終了しました)

◆ <番外編> ExcelのVBAを利用した 『郵便番号検索マクロ』 【ダウンロードファイル有】(終了しました)

◆ <番外編> ExcelのVBAを利用した 『パスワード作成関数』 【ダウンロードファイル有】(終了しました)

◆ <番外編> ExcelのVBAを利用した 『パスワード作成マクロ』 【ダウンロードファイル有】(終了しました)

◆ <番外編> ExcelのVBAを利用した 『100ます計算マクロ』 【ダウンロードファイル有】

◆ <番外編> ExcelのVBAを利用して、PostgreSQLのデータを読み込む>(1) 【ダウンロードファイル有】

◆ <番外編> ExcelのVBAを利用して、PostgreSQLのデータを読み込む>(2) 【ダウンロードファイル有】

◆ <番外編> ExcelのVBAを利用した、住所の分割

◆ <番外編> ExcelのVBAを利用した、セルポインタのジャンプ(1)

◆ <番外編> ExcelのVBAを利用した、セルポインタのジャンプ(2)

 

 

 

 

 

 

カテゴリ