いろいろな関数 9-2

主な内容
1.IS 関数
2.ISBLANK 関数
3.ISERROR 関数
4.ISNA 関数
5.ISNUMBER 関数

情報関数

IS 関数

Excel には、値や参照のタイプを調べるための関数が、全部で 9 つ用意されています。
これらの関数は、名前がどれも IS で始まるため、一括して IS 関数と呼ばれます。
IS 関数は、テストの対象 の種類をチェックし、情報の結果に応じた論理値 TRUE または FALSE を返します。

IF関数にネストする

ただ答えを得ただけでは、何の意味もありません。答えに応じた処理が肝心なのです。
そのため、IF 関数と組み合せて[TRUE]ならば「処理1」また [FALSE]ならば「処理2」と仕事をさせて、 始めて、情報関数の存在価値があるのです。

IS 関数は、数式で計算結果を調べるために役立ちます。特に、IF 関数と組み合わせることにより、 数式内でエラーの位置を調べるために利用できます。下表の使用例をEXCEL{A1}セルにコピーしてご使用ください。 また、A列のみ「この下から〜数値未入力の上」まで、適当な数値を入力ください。(E列幅を2.5倍に伸ばしてください。)

文字列 "Gold" FALSE (ISBLANKで(C1)を検索)
範囲名として定義 "Region1" TRUE (ISREFで(C2)を検索)
エラー値 #REF! TRUE (ISERROR)で(C3)を検索
数値として入力 $330.32 TRUE (ISNUMBERで(C4)を検索)
エラー値 #N/A FALSE (ISERRで(C5)を検索)
FALSE (ISNAで(C3)を検索)
TRUE (ISNAで(C5)を検索)
C2が文字列の場合 TRUE (ISTEXTで(C2)を検索)
ワークシートで、セル範囲 A20:A23 の平均を計算する場合を考えます。
このセル範囲に数値が入力されているかどうか確認されていません。
セル範囲 A20:A23 にまったく数値が入力されていない場合、
AVERAGE(A20:A23) の計算結果はエラー値 #DIV/0! になってしまいます。
このような場合は、次の数式を使って、潜在的なエラーを前もって回避
することができます。後から数値を入力すれば平均値を表示します。
=IF(ISERROR(AVERAGE(A20:A23)),"数値未入力!",AVERAGE(A20:A23))
この下から
数値未入力
この上まで
IS関数の書式
ISBLANK(テストの対象)(引数は1つのみで、テストするデータを指定します。以下同じ。)
ISERR(テストの対象)
ISERROR(テストの対象)
ISLOGICAL(テストの対象)
ISNA(テストの対象)
ISNONTEXT(テストの対象)
ISNUMBER(テストの対象)
ISREF(テストの対象)
ISTEXT(テストの対象)

引数には、空白セル、エラー値、論理値、文字列、数値、セル参照、 または対象となるデータを参照する名前を指定することができます。(こちら⇒参照

IS関数の働き
 関数                 働き 
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 関数

上記より
ISBLANK関数:「テストの対象が空白の場合に TRUE を返します。」
となっています。「空白セル」が無ければ、当然[FALSE]が返えされます。
[FALSE]の表現は感じが良くありませんが、[IF]関数の場合でも、[TRUE]の場合は[""](空欄)にしておいて、 [FALSE]の処理で「こうして欲しい[C3*D3]下図」とまともな処理を指示するのが「常套手段」になっています。

テストの対象のデータを指定します。たまたま空白のセルだった場合、空白だったセルを使用して、 戻り値を表示する「金額のセル」には、空白を返えすことになります。    

このように、テストの対象セルに入っている値が、文字だったら、エラー値だったら、 空白だったら(その他、論理値、文字列、数値、セル参照有り)と「若し、〜だったら」のような時にIS 関数を使用します。
若し〜だったらも「若し=だったら」ということで、IF関数[引数1]の論理式になるのです。

手順
  1. [F3]セルを選択します。
  2. [fx]ボタンを押します。
  3. 関数貼り付けボックスから[IF]を選択し、OKボタンを押します。
    [IF]数式パレットが表示されます。
    (そのままで)
  4. 関数ボックスを開き、その他の関数から[情報]⇒[ISBLANK]を選択し、OKボタンです。
  5. 下図の数式パレットが表示され、[数量]欄の[C3]セルを参照クリックします。
    (引数1の論理式の記入が終了しました。)
    (そのままで)
  6. 数式バーの[IF]をクリックすると、IF数式パレットに戻ります。
  7. 「引数2」の[真の場合]を記入します。ここでは[""](空欄の意味)と記入します。
  8. 「引数3」の[偽の場合]欄にはセル参照で「 B3*C3 」と記入します。
  9. ここにきて、3回目の[OK]ボタンを押します。
  10. [Enterキー]を押して完了します。
  11. できた数式をF9までフィルハンドルでドラッグします。

ISERROR 関数

ISERROR:テストの対象 が任意のエラー値(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? または #NULL! のいずれか) を参照するとき TRUE を返します。

【下図参照】:国語の平均点をAVERAGE関数で求め、右へオートフィル機能でドラッグしました。 英語の試験は未だ実施されませんが、生徒の点数を記入すれば平均点が出るように数式をオートフィルでコピーしたところです。

ところが、エラー値が表示されてしまいました。格好がつかないのでエラー値を表示させない手段を「#DIV/0!−2図」のように講じました。
エラー値 #DIV/0! は、数式で 0 (ゼロ) による除算が行われた場合に返されます。
(平均値は総数を件数で割った値ですので、何もない空欄は[0]で割ったことになるのでしょう。)

#DIV/0!−1図

#DIV/0!−2図

1.ISERROR(AVERAGE(D2:D11)),までが、IF関数の[引数1]論理式の部分です。
2.「 "", 」はIF関数の[引数2]の[真の場合]の表示で、前述のISBLANK 関数の手段と同様に[空欄]にしました。
3.IF関数の[引数3]の[偽の場合]の表示で、本当の解のAVERAGE(D2:D11)を表示させます。

ISNA 関数

テストの対象 がエラー値 #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関数使用)

ISNUMBER 関数

テストの対象 が数値を参照するとき TRUE を返します。
つまり、セルの内容が「数値」であるかを判断する関数です。計算された結果値で表示されたものも含まれます。(若し、そのセルが数式で[Ctrl+Shift+@キーで]表示されたものであっても、[TRUE]になります。)
下図をご覧ください。


なお、上の表記述以外のエラー値[#NAME?]、[#VALUE!]、および判定の[TRUE]、[FALSE]、にもISNUMBER関数を当てましたが、いずれも「FALSE」で数値ではありませんでした。

トップへ戻る     いろいろな関数目次へ戻る
いろいろな関数9へ戻る     いろいろな関数10へ進む

inserted by FC2 system