IS分類:情報 2009.02.06
IS関数は情報関数に分類されます。
情報関数とはセルの情報を取得するための関数で、全部で16種類(アドイン登録後は18種類)用意されています。その中には「セルにどんな値が入力されているのか」をチェックする役割の関数が幾つかあります。それらはISBLANKやISTEXTのように名前がISから始まっており、まとめてIS関数と呼びます。
IS関数はセルの状態を判断しTRUEかFLASEを返します。例えばISBLANKの場合だと対象セルが「空白」かどうかで、空白だとTRUE、それ以外だとFALSEを返します。
その機能から、IF関数と相性がよく、ほとんどの場合はIF関数と組み合わせて使用します。
ISの機能と構成
機能:セルの状態に応じてTRUEかFALSEを返す。
構成:=IS○○○(テスト対象)
テスト対象とは対象となるセルやセル範囲です。名前を定義したセル範囲も指定できます。
IS関数の種類
●ISBLANK(テストの対象):対象となるセルが空白※の場合にTRUEを返す。
セル[A1]が空白か調べる:=ISBLANK(A1)
※空白とは、数式や値がなにも入っていない状態です。非表示は空白ではありません。
=""などの数式を入力すると、セルには何も表示されませんが、ISBLANKではFALSEになります。
●ISERR(テストの対象):対象となるセルが「#N/A」以外のエラー値の場合にTRUEを返す。
セル[A1]が(「#N/A」以外の)エラーか調べる:=ISERR(A1)
●ISERROR(テストの対象):対象となるセルがエラー値の場合にTRUEを返す。
セル[A1]がエラーか調べる:=ISERROR(A1)
●ISNA(テストの対象):対象となるセル値が「#N/A」の場合にTRUEを返す。
セル[A1]が「#N/A」か調べる:=ISNA(A1)
●ISLOGICAL(テストの対象):対象となるセルが論理値の場合にTRUEを返す。
セル[A1]が論理値か調べる:=ISLOGICAL(A1)
●ISTEXT(テストの対象):対象となるセル値が文字列の場合にTRUEを返す。
セル[A1]が文字列か調べる:=ISTEXT(A1)
●ISNOTEXT(テストの対象):対象となるセル値が文字列以外の場合にTRUEを返す。
セル[A1]が文字列ではないか調べる:=ISNOTEXT(A1)
●ISNUMBER(テストの対象):対象となるセル値が数値の場合にTRUEを返す。
セル[A1]が数値か調べる:=ISNUMBER(A1)
●ISREF(テストの対象):テスト対象がセル・セル範囲の場合にTRUEを返す。
セルを参照しているのでTRUE:=ISREF(A1)
セルを参照しているないのでFALSE:=ISREF(100)
[DataArea]と名前の定義をしたセル範囲はTRUE:=ISREF(DataArea)
IS関数の応用
IF関数との組み合わせ
情報関数の多くはIF関数との相性が良く、組み合わせて使用することにより「セルの情報によって分岐」の判断を行えます。ここでは、先の例にIF関数の組み合わせた数式を紹介します。
●ISBLANK(テストの対象):対象となるセルが空白※の場合にTRUEを返す。
セル[A1]が空白だったら「未提出」、それ以外は「提出」を表示:
=IF(ISBLANK(A1),"未提出","提出")
※空白とは、数式や値がなにも入っていない状態です。非表示は空白ではありません。
=""などの数式を入力すると、セルには何も表示されませんがISBLANKではFALSEになります。
●ISERR(テストの対象):対象となるセルが「#N/A」以外のエラー値の場合にTRUEを返す。
セル[A1]が(「#N/A」以外の)エラーだったら「エラー」、それ以外は「正常、又は#N/A」を表示:
=IF(ISERR(A1),"エラー","正常、又は#N/A")
●ISERROR(テストの対象):対象となるセルがエラー値の場合にTRUEを返す。
セル[A1]がエラーだったら「エラー」、それ以外は「正常」を表示:
=IF(ISERROR(A1),"エラー","正常")
●ISNA(テストの対象):対象となるセル値が「#N/A」の場合にTRUEを返す。
セル[A1]が「#N/A」だったら「要修正」、それ以外は非表示:
=IF(ISNA(A1),"要修正","")
●ISLOGICAL(テストの対象):対象となるセルが論理値の場合にTRUEを返す。
セル[A1]が論理値だったら「論理値」、それ以外は「論理値以外」を表示:
=IF(ISLOGICAL(A1),"論理値","論理値以外")
●ISTEXT(テストの対象):対象となるセル値が文字列の場合にTRUEを返す。
セル[A1]が文字列だったら「文字列」、それ以外は「文字列以外」を表示:
=IF(ISTEXT(A1),"文字列","文字列以外")
●ISNOTEXT(テストの対象):対象となるセル値が文字列以外の場合にTRUEを返す。
セル[A1]が文字列だったら「文字列」、それ以外は「文字列以外」を表示:
=IF(ISNOTEXT(A1),"文字列以外","文字列")
●ISNUMBER(テストの対象):対象となるセル値が数値の場合にTRUEを返す。
セル[A1]が数値だったら「数値」、それ以外は「数値以外」を表示:
=IF(ISNUMBER(A1),"数値","数値以外")
●ISREF(テストの対象):テスト対象がセル・セル範囲の場合にTRUEを返す。
セルを参照しているので「セル参照」が表示:
=IF(ISREF(A1),"セル参照","セル参照していません")
セルを参照しているないので「参照していません」と表示:
=IF(ISREF(100),"セル参照","セル参照していません")
[DataArea]と名前を定義したセル範囲は、セルを参照しているので「セル参照」と表示:
=IF(ISREF(DataArea),"セル参照","セル参照していません")