主な内容
1.ネスト関数(Excelヘルプより)
2.IF関数にAND関数をネストさせる(OR関数も同様です。)
3.関数の修正
4.「偽の場合」は空欄にする方法
5.[IF関数]に[IF関数]をネストする
[引数1]は[論理式]です。式と言っても下記のように右辺と左辺を比較して、「=」か「大きい」か「小さい」かを判断させる式です。
[論理式]で使用される「比較演算子」
文字列で指定できる関数には、次ページ掲載の[TEXT関数]があります。[IF関数]と共に「文字列指定の利点」を活かし多用されています。
IF関数の書式の基本形 「 =IF(引数1,引数2,引数3) 」
AND(OR)関数の書式の基本形「 AND(引数1,引数2,...,引数n) 」
上に見られるように、IF関数では論理式が1個」のみで「条件」が1つしか設定できません。
それに対して、AND(またはOR)関数では論理式が30個、即ち条件を30個も設定ができるのです。
そこで、IF関数に、AND(またはOR)関数をネストして、複数の条件設定をできるようにし、しかもIF関数の「真」「偽」の判定に「好きな文字列」を使用できる利点を活かしているのです。
ネストの仕方
上図 EXCELヘルプには「関数ボックス」使用の「関数をネストするには」があります。
下表をExcelの[A1]セルにコピーして、ご使用ください。
右の4項目の各行をクリックすると「数式」が出ますのでそれを参考に試してみてください。
A高校入試 | 1科目でも65点 | 1科目でも基準 | 国語且つ数学 | 国語か数学が基 | ||||
未満有りはX | を越えれば◎ | 基準以上合格 | 準以上あれば合格 | |||||
性別 | 国語 | 数学 | 英語 | AND判定 | OR判定 | IF(AND) | IF(OR) | |
山田太郎 | 男性 | 80 | 90 | 80 | TRUE | TRUE | 合格 | 合格 |
川田花子 | 女性 | 75 | 70 | 70 | TRUE | TRUE | 合格 | 合格 |
草田一郎 | 男性 | 60 | 85 | 65 | FALSE | TRUE | 不合格 | 合格 |
木田一美 | 女性 | 50 | 80 | 80 | FALSE | TRUE | 不合格 | 合格 |
上田春子 | 女性 | 65 | 75 | 80 | TRUE | TRUE | 合格 | 合格 |
中田夏男 | 男性 | 60 | 55 | 95 | FALSE | TRUE | 不合格 | 不合格 |
下田秋子 | 女性 | 65 | 70 | 65 | TRUE | TRUE | 合格 | 合格 |
天野和雄 | 男性 | 65 | 70 | 65 | TRUE | TRUE | 合格 | 合格 |
地脇智子 | 女性 | 60 | 60 | 60 | FALSE | FALSE | 不合格 | 不合格 |
人見賢治 | 男性 | 65 | 65 | 70 | TRUE | TRUE | 合格 | 合格 |
基準値 | 65 |
命題は国語且つ数学が、基準点「65点」以上を合格、それ以外を不合格と表示しなさい。」です。
[H4]から[H13]を「クリア」してください。
「 =IF(AND($B$14<=C4,$B$14<=D4),"合格","不合格") 」となります。
判定結果は、上から合格、合格、不合格、不合格、合格、不合格、合格、合格、不合格、合格です。
※ネスト関数でも、数式パレットを使わず、上記の完成した関数のとおり、キーボードから直接入力することができます。
作成した関数は、時として修正が必要になります。通常の関数でもネスト関数でも修正は ほぼ同じ操作ですが、ネスト関数の場合は、少しコツが必要です。関数を修正するには、 2つの方法があります。
入力時に使用した数式パレットを表示させると、引数を修正する事ができます。 「偽の場合」の小窓には、<論理式>の結果がFALSEであった場合に返される値を入力するのですが、
上の表のように特に「不合格」を表示しないで「空白で返す」方法です。
「""」ダブル クォテーションは、引数に文字列を使うとき、文字列を囲んで使うものですが、これを「文字列抜きで」使うことで、何も表示されず「空白」で返す設定になります。良く使われるテクニックです。
下の表はお弁当の価格表です。3段階の設定で[IF関数]を2っつ並べました。若し、「デラックス」や「超豪華版」と階級を増やした場合でも、[IF]関数を続けて行けば判定できます。但しネストできる数は7つ迄です。 そうして、3支店の「構成比合計」をΣ(オートSUM)で出したところ[100.1%]になってしましました。さて、修正するのに、何処を「0.1」減じたら良いでしょうか?
解説
解説
下表をExcelの[A1]セルにコピーして、ご使用ください。 上図で[ROUND]関数を使った「構成比」は[桁上げ]ツールボタンを押しても[0]が続くのみです。
数式バーへカーソルを入れると、ワークシートのセル参照部分は、色つきの枠で囲まれ、
数式バーはセル参照部分のフォント色が変化して、セル参照を確認しやすいようになっています。
ネスト関数の場合でも操作は同じです。
数式パレットで修正
数式パレットを表示させるには、ネスト関数でないもの、ネスト関数でも、第1レベルの関数の
場合は、数式バーの「=」記号をクリックします。(ネスト・レベルの制限参照)
ネスト関数の第2レベル以下の関数の場合は、数式バー内の表示させたい関数式をクリックしてから、
数式バーの「=」記号をクリックします。
下の図2は、上の図1のAVERAGED関数部分のの数式パレットを表示させたものです。
修正したい入力ボックスへクリックでカーソル
を入れます。 方向キーでカーソルを動かし、DeleteキーやBackキーで修正箇所を消去して、修正します。
数式パレットを表示させたとき、数式バーの関数式は、下の図2のように太字に変化します。
「偽の場合」は空欄にする方法
書式は「 IF(論理式,真の場合,"") 」になります。
[IF関数]に[IF関数]をネストする
書式は「 IF(B3<=800,"安価",IF(B3>=1500,"高価","並")) 」です。
下表をExcel[A1]から書き移して下さい。(または、ソースを開いて下記の3列6行をコピーしてExcel[A1]に貼り付けると各セルに入力されます。)
なお、セル(B3)〜(B6)の表示形式は「通貨」です。
お弁当価格表
お品書き 価格 判定
パックA \700 安価
パックB \800 安価
パックC \1000 並
特製お膳 \1500 高価
[IF関数]に[ROUND関数]をネストして、構成比を小数点以下1桁まで求める
書式は「 IF(ROUND(B2/$B$5*100,1),ROUND(B2/$B$5*100,1),"") 」です。
IF関数の書式「IF(論理式,真の場合,偽の場合)」で
書式は「 IF($C$2-$D$2>$C$4-$D$4,56.2,18.7) 」を作って見ましたところ
[18.8]を[18.7]にするのが正解のようです。試してみてください。(下図参照)
それを[IF関数]で表すと次のとおりになります。
また、「偽の場合」の「56.2」が不必要なら、前項「偽の場合」は空欄にする方法の[""]を使います。
「偽の場合」が正解だって有り得ることを知った例です?。)
列幅特にF列を十分に広げて下さい。
支店名
売上
構成比%
小数点以下3桁表示
IF関数判定式
実際の繰上げ値
東京支店
900,000
56.3
56.250
18.7
0.049999999999997200
大阪支店
400,000
25.0
25.000
18.7
0.000000000000000000
福岡支店
300,000
18.8
18.750
18.7
0.050000000000000700
TOTAL
1,600,000
100.1
一方[桁上げ]ツールボタンで3桁表示(3桁目四捨五入)した値は[桁上げ]すると、例えば右端のように変化します。
[桁上げ]「桁下げ」○○桁表示は「仮の姿」で数式計算では何桁にもおよぶ「本当の値」が使われます。