OfficeType

Excel~ISNONTEXT関数で非文字列判定をしよう~エクセル

エクセルで参照するセルが文字列以外かどうか判定するISNONTEXT関数について説明します。

  • ISNONTEXT関数の書式はISNONTEXT(テストの対象)になります。
  • テストの対象には文字列以外かどうか判定したいセルを指定します。
  • テストの対象が文字列以外ならばTRUEを返し、文字列ならばFALSEを返します。

下の画像の例でセルB2にセルA2が文字列以外かどうかの判定を表示したい場合はセルB2に=ISNONTEXT(A2)と入力してEnterを押します。

参照はセルA2が文字列以外かどうか判定したいのでA2になります。

つまりセルB2に=ISNONTEXT(A2)と入力しEnterを押すと、セルA2に数値の1が入力されているのでTRUEが表示されます。

セルB2からセルB5までオートフィルすると各行のA列が文字列以外であればB列にTRUEと表示され、文字列であればB列にFALSEと表示されます。

IF関数との組み合わせ

ISNONTEXT関数はIF関数と組み合わせて使えばISNONTEXT関数がTRUEの時とFALSEの時の表示を指定できます。

下の画像の例でセルB2にセルA2が文字列以外の場合は"非文字列"と表示し、文字列の場合は"文字列"と表示したい場合はセルB2に=IF(ISNONTEXT(A2),"非文字列","文字列")と入力してEnterを押します。

IF関数の書式はIF(論理式,[値が真の場合],[値が偽の場合])になります。

IF関数の論理式にISNONTEXT(A2)を指定すればセルA2が文字列以外ならばTRUEを返し、この場合はIF関数の[値が真の場合]が表示されます。セルA2が文字列ならばFALSEを返し、この場合はIF関数の[値が偽の場合]が表示されます。

IF関数の[値が真の場合]にはISNONTEXT関数がTRUEを返す場合に"非文字列"と表示したいので"非文字列"になります。

IF関数の[値が偽の場合]にはISNONTEXT関数がFALSEを返す場合に"文字列"と表示したいので"文字列"になります。

つまりセルB2に=IF(ISNONTEXT(A2),"非文字列","文字列")と入力しEnterを押すと、セルA2は数値の1が入力されているので"非文字列"と表示されます。

セルB2からセルB6までオートフィルすると各行のA列が文字列以外であればB列に"非文字列"と表示され、A列が文字列ならばB列に"文字列"と表示されます。

条件付き書式

条件付き書式でISNONTEXT関数を使えば文字列以外のセルを目立たせることができます。

下の画像の例でデータの項目の文字列以外のセルを赤く塗りつぶす方法を解説します。

まずセルA2を選択します。

次にセルA2からセルA6まで範囲を広げます。

次にホームタブの[スタイル]グループの条件付き書式をクリックします。

新しいルールをクリックします

新しい書式ルールダイアログボックスが表示されます。

数式を使用して、書式設定するセルを決定を選択します。

[次の数式を満たす場合に値を書式設定]欄に=ISNONTEXT(A2)と入力します。

書式ボタンを押します。

塗りつぶしタブをクリックします。

色を選んでOKを押します。

OKを押すと非文字列が入力されたセルが赤で塗りつぶされます。

文字列セル以外をカウント

指定した範囲内の文字列セル以外のセルの数をカウントしたい場合はCOUNTIF関数を使います。

下の画像の例でセルC2にセルA2からセルA6の範囲の文字列セルの数を表示したい場合はセルC2に=COUNTIF(A2:A6,"<>*")と入力しEnterを押します。

COUNTIF関数はCOUNTIF(範囲, 検索条件)で範囲内に検索条件に一致するセルが何個あるかカウントします。範囲にデータの範囲を指定し、検索条件にワイルドカードの*(アスタリスク)を指定すれば、*(アスタリスク)は文字数無制限の文字列を意味し、比較演算子<>は"等しくない"を意味するので、文字列でない事が検索条件になるので範囲内の文字列セル以外のセルの数をカウントできます。

つまりセルC2に=COUNTIF(A2:A6,"<>*")と入力しEnterを押すとセルA2からセルA6の範囲で文字列セルはセルA2の1つで残りの4つのセルは文字列セル以外のセルなので4が表示されます。