主な内容
1.IS 関数
2.ISBLANK 関数
3.ISERROR 関数
4.ISNA 関数
5.ISNUMBER 関数
Excel には、値や参照のタイプを調べるための関数が、全部で 9 つ用意されています。
これらの関数は、名前がどれも IS で始まるため、一括して IS 関数と呼ばれます。
IS 関数は、テストの対象 の種類をチェックし、情報の結果に応じた論理値 TRUE または FALSE を返します。
ただ答えを得ただけでは、何の意味もありません。答えに応じた処理が肝心なのです。
そのため、IF 関数と組み合せて[TRUE]ならば「処理1」また [FALSE]ならば「処理2」と仕事をさせて、
始めて、情報関数の存在価値があるのです。
IS 関数は、数式で計算結果を調べるために役立ちます。特に、IF 関数と組み合わせることにより、 数式内でエラーの位置を調べるために利用できます。下表の使用例をEXCEL{A1}セルにコピーしてご使用ください。 また、A列のみ「この下から〜数値未入力の上」まで、適当な数値を入力ください。(E列幅を2.5倍に伸ばしてください。)
文字列 | "Gold" | FALSE | (ISBLANK | |
範囲名として定義 | "Region1" | TRUE | (ISREFで( | |
エラー値 | #REF! | TRUE | (ISERROR) | |
数値として入力 | $330.32 | TRUE | (ISNUMBE | |
エラー値 | #N/A | FALSE | (ISERRで( | |
FALSE | (ISNAで(C | |||
TRUE | (ISNAで(C | |||
C2が文字列の場合 | TRUE | (ISTEXTで | ||
ワークシートで、セル範囲 A20:A23 の平均を計算する場 | ||||
このセル範囲に数値が入力されているかどうか確認され | ||||
セル範囲 A20:A23 にまったく数値が入力されていない場 | ||||
AVERAGE(A20:A23) の計算結果はエラー値 #DIV/0! に | ||||
このような場合は、次の数式を使って、潜在的なエラーを | ||||
することができます。後から数値を入力すれば平均値を表 | ||||
=IF(ISERROR(AVERAGE(A20:A23)),"数値未入力!",AVERA | ||||
この下から | ||||
数値未入力 | ||||
この上まで |
ISBLANK(テストの対象)(引数は1つのみで、テストするデータを指定します。以下同じ。)
ISERR(テストの対象)
ISERROR(テストの対象)
ISLOGICAL(テストの対象)
ISNA(テストの対象)
ISNONTEXT(テストの対象)
ISNUMBER(テストの対象)
ISREF(テストの対象)
ISTEXT(テストの対象)
引数には、空白セル、エラー値、論理値、文字列、数値、セル参照、 または対象となるデータを参照する名前を指定することができます。(こちら⇒参照)
関数 働き ISBLANK : テストの対象 が空白の場合に TRUE を返します。 ISERR : テストの対象 が #N/A 以外のエラー値の場合に TRUE を返します。 ISERROR : テストの対象 がエラー値 (#N/A,#VALUE!,#REF!,#DIV/0!,#NUM!,#NAME?,または#NULL!)の場合に TRUE を返します。 ISLOGICAL : テストの対象 が論理値の場合に TRUE を返します。 ISNA : テストの対象 がエラー値 #N/A (使用する値がない) の場合に TRUE を返します。 ISNONTEXT : テストの対象 が文字列以外の値である場合に TRUE を返します (テストの対象が空白セルを参照するときも TRUE になりますので注意してください)。 ISNUMBER : テストの対象 が数値の場合に TRUE を返します。 ISREF : テストの対象 が参照である場合 TRUE を返します。 ISTEXT : テストの対象 が文字列である場合 TRUE を返します。 その他のIS関数 ISEVEN : 数値が偶数のときに TRUE を返します。 ISODD : 数値が奇数のときに TRUE を返します。 上記の逆の場合には、[FALSE]を返します。
CELL : セルの書式設定、位置、内容に関する情報を返します。 COUNTBLANK : 範囲に含まれる空白セルの個数を返します。 ERROR.TYPE : Excelのエラー値に対応する数値を返します。 INFO : 使用中のオペレーションシステムに関する情報を返します。 N : 引数を数値に変換して返します。 NA : エラー値 #N/A (値が無効)を返します。 TYPE : 値のデータタイプを表す数値(数値=1、文字列=2、論理値=4、エラー値=16、配列=64)を返します。
上記より
ISBLANK関数:「テストの対象が空白の場合に TRUE を返します。」
となっています。「空白セル」が無ければ、当然[FALSE]が返えされます。
[FALSE]の表現は感じが良くありませんが、[IF]関数の場合でも、[TRUE]の場合は[""](空欄)にしておいて、
[FALSE]の処理で「こうして欲しい[C3*D3]下図」とまともな処理を指示するのが「常套手段」になっています。
テストの対象のデータを指定します。たまたま空白のセルだった場合、空白だったセルを使用して、 戻り値を表示する「金額のセル」には、空白を返えすことになります。
このように、テストの対象セルに入っている値が、文字だったら、エラー値だったら、
空白だったら(その他、論理値、文字列、数値、セル参照有り)と「若し、〜だったら」のような時にIS 関数を使用します。
若し〜だったらも「若し=だったら」ということで、IF関数[引数1]の論理式になるのです。
ISERROR:テストの対象 が任意のエラー値(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? または #NULL! のいずれか) を参照するとき TRUE を返します。
【下図参照】:国語の平均点をAVERAGE関数で求め、右へオートフィル機能でドラッグしました。
英語の試験は未だ実施されませんが、生徒の点数を記入すれば平均点が出るように数式をオートフィルでコピーしたところです。
ところが、エラー値が表示されてしまいました。格好がつかないのでエラー値を表示させない手段を「#DIV/0!−2図」のように講じました。
エラー値 #DIV/0! は、数式で 0 (ゼロ) による除算が行われた場合に返されます。
(平均値は総数を件数で割った値ですので、何もない空欄は[0]で割ったことになるのでしょう。)
1.ISERROR(AVERAGE(D2:D11)),までが、IF関数の[引数1]論理式の部分です。
2.「 "", 」はIF関数の[引数2]の[真の場合]の表示で、前述のISBLANK 関数の手段と同様に[空欄]にしました。
3.IF関数の[引数3]の[偽の場合]の表示で、本当の解のAVERAGE(D2:D11)を表示させます。
テストの対象 がエラー値 #N/A (使用する値がない) を参照するとき TRUE を返します。
下の表をコピーして、Excel[A1]セルに貼り付けご使用ください。
コード | 品名 | 金額 | |||||||||||
101 | びわ | 1500 | 左の数式:「 =VLOOKUP(A2,$D$9:$F$13,3,FALSE) 」 | ||||||||||
102 | ハウススイカ | ||||||||||||
103 | 静岡メロン | ||||||||||||
105 | ハウス桃 | , | |||||||||||
110 | ハウスミカン | ||||||||||||
103 | 静岡メロン | 2900 | |||||||||||
コード | 品名 | 金額 | |||||||||||
101 | びわ | 1500 | |||||||||||
102 | ハウススイ | 1900 | |||||||||||
103 | 静岡メロン | 2900 | |||||||||||
105 | ハウス桃 | 3500 | |||||||||||
110 | ハウスミカ | 3000 | |||||||||||
104 | #N/A | (表参照を[A2:B7]の本体にしました。) | (VLOOKUP関数のみ使用) | ||||||||||
104 | 見当りません | (表参照を別表の[D9:F13]にしました。) | (IF,ISNA,VLOOKUP関数使用) |
テストの対象 が数値を参照するとき TRUE を返します。
つまり、セルの内容が「数値」であるかを判断する関数です。計算された結果値で表示されたものも含まれます。(若し、そのセルが数式で[Ctrl+Shift+@キーで]表示されたものであっても、[TRUE]になります。)
下図をご覧ください。
なお、上の表記述以外のエラー値[#NAME?]、[#VALUE!]、および判定の[TRUE]、[FALSE]、にもISNUMBER関数を当てましたが、いずれも「FALSE」で数値ではありませんでした。