「関数の勉強1,2」では、「引数を主眼」にして学びます。」
主な内容
1.IF 関数について
2.AND 関数について
3.OR 関数について
4.AND 関数、OR 関数の「判定の結果」に対して「指示を与える」には : (IF 関数に、組み込む(ネストする)
5.IF 関数を使って、引数タイプの1つ1つを検証
6.セルやセル範囲に名前を付ける
7.専ら[IF]関数を使って、7種別の会費算出
8.[IF]関数に[AND]関数をネストして会費算出
9.[VLOOKUP] 関数を使って会費算出
10.引数に、配列(行方向や列方向に連続した値を一纏めしたデータ)を使う
()内が[引数]です。
Excelのワークシート関数(標準で装備)には、論理関数が6個存在しています。
条件判断と処理の分岐。(YesかNoかを判定し、処理1、処理2を行う。)
AとBの2つの事象(数値表示)が有った場合、下記、比較演算子を用いて、条件(条件式)を提示します。
比較演算子(記号) 内容 セル参照表示例
論理式(=条件式)に適った場合(TRUEの場合)は、「数式パレット」引数2に「もし、真の場合なら、こうしなさい」と指示を与えます。
論理式(=条件式)に不適合の場合(FALSEの場合)は、「数式パレット」引数3に「そうでない偽の場合なら、こうしなさい」と指示を与えます。
しかし、偽の場合の戻り値が欲しい場合が生じた場合には、真の場合の戻り値を[""]で空欄にする手法もあります。
IF 関数の使用法については、こちらのページと、こちらのページを参照ください。
論理式の組み立て方はAND 関数、下記OR 関数共IF 関数の論理式と同様です。
注釈では、「論理式1,論理式2・・・には、結果が TRUE または FALSE になる1〜30個の条件式を指定できます。」となっています。
「あれも、これも」の、全てが「条件」を満たしているかどうかを判定する関数です。
ただし、判定は[TRUE(真)]か[FALSE(偽)]のみで、だから、「どうしろ、こうしろ」とまでは、指示していません。
注釈では、「論理式1,論理式2・・・には、結果が TRUE または FALSE になる1〜30個の値または論理式を指定できます。」となっています。
「あれか、これか」の、どれか一つでも「条件」を満たしているかどうかを判定する関数です。
ただし、AND 関数同様、判定は[TRUE(真)]か[FALSE(偽)]のみで、だから、「どうしろ、こうしろ」とまでは、指示していません。
IF(OR) 関数の使用法については、こちらのページを参照ください。
また、IF(AND) 関数の使用法については、こちらのページを参照ください。
IF 関数では、「引数1」に[論理式]、「引数2」に[論理値:真の場合]、「引数3」に[論理値:偽の場合]を使用します。
A B C D E F G H I 1 国語 算数 合計 AVERAGE関数 合格基準 2 山田 100 80 180 90 合計 180 以上 3 川田 90 70 160 80 AVERAGE 90 以上
問題1.
合計点180以上を合格、それ以外は不合格です。数値と数式で計算しなさい。
山田君の場合
IF(100+80>=180,"合格","不合格")
川田君の場合
IF(90+70>=180,"合格","不合格")
(セル参照で、済む場合は、数値の使用はできるだけ、避けた方が良いです。セル数値に変更が生じた場合、既に出来上がった数式には反映されません。
セルは変数の入れ物と考えましょう。)
問題2.
上の表で、合計点180以上を合格、それ以外は不合格です。セル参照と数式で計算しなさい。
山田君の場合
IF(B2+C2)>=H2,"合格","不合格")
川田君の場合
IF(B3+C3>=H2,"合格","不合格")
問題3.
上の表で、AVERAGE90以上を合格、それ以外は不合格です。セル参照とAVERAGE関数をネストして計算しなさい。
山田君の場合
IF(AVERAGE(B2:C2)>=H3,"合格","不合格")
川田君の場合
IF(AVERAGE(B3:C3)>=H3,"合格","不合格")
1.セル範囲[B2:C2]に、「山田成績」と名前をつけます。
付ける方法
2.セル[H3]の90を選択して、「基準値」と名前を付けます。
A B C D E F G H I 1 国語 算数 合計のSUM関数 AVERAGE関数 合格基準 2 山田 100 80 =SUM(山田成績) =AVERAGE(山田成績) 合計 180 以上 3 川田 90 70 =SUM(川田成績) =AVERAGE(川田成績) AVERAGE 基準値 以上
すると
川田君も同様です。
山田君の場合(結果は合格)
川田君の場合(結果は不合格)
直接「年齢」列を対象にすると、うまく行きません。そこで、「年齢性別区分」列を作り、この列を対象にして、会費を算定しました。
「複数の値を基準にし条件判断をおこなうには、IF 関数を組み合わせます。こちらを参照ください。[IF]文は下図から読み取り願います。
また、[D3]に、「 =IF(C3<74,"一般",IF(C3<=87,"老人",IF(C3<=99,"高齢","100以上"))) 」を
また、[E3]に、「 =IF(B3="女性",B3&D3,D3) 」が埋め込まれています。
条件に「性別」「年齢」「区分」と分類されていますが、「AND」関数の場合、30個の条件が設定できます。
[IF-AND]文は下図から読み取り願います。他のところに埋め込み書式はありません。また、特に年齢順に揃える必要はありません。自由です。
IF関数のみより、大幅に、書式が簡単になります。引数は従来のスタイルとは異なります。
検索値(引数1),範囲(引数2),列番号(引数3),検索の型(引数4)
下表をコピーして[A1]セルに貼り付けお試しください。また、年齢と性別を変えてみてください。
なお、[D4]に、「=IF(C4<74,"一般",IF(C4<=87,"老人",IF(C4<=99,"高齢","100以上")))」
また、[E4]に、「=IF(B4="女性",B4&D4,D4)」が、埋め込まれています。「B4&D4」で使用の「文字列演算子 &(アンバサンド)」は、2つのセルの文字列を結合、または連結して、1 つの連続する文字列の値を作成しています。
注意点:参照表は、昇順に並べ替えしておくこと。
VLOOKUP関数の使用法については、こちらを参照ください。
VLOOKUP関数 =VLOOKUP($D$5:$D$18,$F$5:$G$12,2,FALSE) | |||||||
都区・茨城県人会年会費 | |||||||
名前 | 性別 | 年齢 | 年齢区分 | 年齢性別区分 | 年会費 | 参照1列目 | 参照2金額 |
山田太郎 | 男性 | 19 | 一般 | 一般 | 10000 | 女性100以上 | 3000 |
西野 明 | 男性 | 32 | 一般 | 一般 | 10000 | 100以上 | 5000 |
南野 茜 | 女性 | 43 | 一般 | 女性一般 | 8000 | 女性高齢 | 5000 |
中田夏男 | 男性 | 45 | 一般 | 一般 | 10000 | 女性老人 | 6000 |
東野 肇 | 男性 | 58 | 一般 | 一般 | 10000 | 高齢 | 7000 |
地脇智子 | 女性 | 60 | 一般 | 女性一般 | 8000 | 老人 | 8000 |
下田秋子 | 女性 | 66 | 一般 | 女性一般 | 8000 | 女性一般 | 8000 |
草田一郎 | 男性 | 75 | 老人 | 老人 | 8000 | 一般 | 10000 |
北野 文 | 男性 | 77 | 老人 | 老人 | 8000 | ||
木田一美 | 女性 | 78 | 老人 | 女性老人 | 6000 | ||
川田花子 | 女性 | 88 | 高齢 | 女性高齢 | 5000 | ||
上田照夫 | 男性 | 89 | 高齢 | 高齢 | 7000 | ||
天野和雄 | 男性 | 101 | 100以上 | 100以上 | 5000 | ||
人見ゆり | 女性 | 102 | 100以上 | 女性100以上 | 3000 |
配列数式:行方向や列方向に連続した値を一纏めしたデータを参照し、配列に含まれる値ごと(複数の)の計算結果を配列範囲(戻り値のセル範囲)に返す数式のことです。
複数の計算を行い、1 つまたは複数の結果を返す数式で、計算を1つの数式で行うことができます。
配列数式については、こちらを参照ください。
エラー値8種類を直接引数として使う例は見当たりません。エラー値は戻り値として現れ、その現れたセル、または、
データが未入力のため当然エラー表示が予想されるセルを参照して、非表示の対策を講じているのです。
エラー値の解消法は、こちらを参照ください。