Excel~ISTEXT関数で文字列判定をしよう~エクセル
ISTEXT関数
エクセルで参照するセルが文字列かどうか判定するISTEXT関数について説明します。
- ISTEXT関数の書式はISTEXT(テストの対象)になります。
- テストの対象には文字列かどうか判定したいセルを指定します。
- テストの対象が文字列ならばTRUEを返し、文字列でなければFALSEを返します。
下の画像の例でセルB2にセルA2が文字列かどうかの判定を表示したい場合はセルB2に=ISTEXT(A2)と入力してEnterを押します。
参照はセルA2が文字列かどうか判定したいのでA2になります。
つまりセルB2に=ISTEXT(A2)と入力しEnterを押すと、セルA2には文字列の"あ"が入力されているのでTRUEが表示されます。
セルB2からセルB5までオートフィルすると各行のA列が文字列であればB列にTRUEと表示され、文字列でなければB列にFALSEと表示されます。
IF関数との組み合わせ
ISTEXT関数はIF関数と組み合わせて使えばISTEXT関数がTRUEの時とFALSEの時の表示を指定できます。
下の画像の例でセルB2にセルA2が文字列の場合は"文字列"と表示し、文字列でない場合は"文字列でない"と表示したい場合はセルB2に=IF(ISTEXT(A2),"文字列","文字列でない")と入力してEnterを押します。
IF関数の書式はIF(論理式,[値が真の場合],[値が偽の場合])になります。
IF関数の論理式にISTEXT(A2)を指定すればセルA2が文字列ならばTRUEを返し、この場合はIF関数の[値が真の場合]が表示されます。セルA2が文字列でなければFALSEを返し、この場合はIF関数の[値が偽の場合]が表示されます。
IF関数の[値が真の場合]にはISTEXT関数がTRUEを返す場合に"文字列"と表示したいので"文字列"になります。
IF関数の[値が偽の場合]にはISTEXT関数がFALSEを返す場合に"文字列でない"と表示したいので"文字列でない"になります。
つまりセルB2に=IF(ISTEXT(A2),"文字列","文字列でない")と入力しEnterを押すと、セルA2は文字列"あ"が入力されているので"文字列"と表示されます。
セルB2からセルB6までオートフィルすると各行のA列が文字列であればB列に"文字列"と表示され、A列が文字列でなければB列に"文字列でない"と表示されます。
条件付き書式
条件付き書式でISTEXT関数を使えば文字列のセルを目立たせることができます。
下の画像の例でデータの項目の文字列のセルを赤く塗りつぶす方法を解説します。
まずセルA2を選択します。
次にセルA2からセルA6まで範囲を広げます。
次にホームタブの[スタイル]グループの条件付き書式をクリックします。
新しいルールをクリックします
新しい書式ルールダイアログボックスが表示されます。
数式を使用して、書式設定するセルを決定を選択します。
[次の数式を満たす場合に値を書式設定]欄に=ISTEXT(A2)と入力します。
書式ボタンを押します。
塗りつぶしタブをクリックします。
色を選んでOKを押します。
OKを押すと文字列が入力されたセルが赤で塗りつぶされます。
文字列セルのカウント
指定した範囲内の文字列セルの数をカウントしたい場合はCOUNTIF関数を使います。
下の画像の例でセルC2にセルA2からセルA6の範囲の文字列セルの数を表示したい場合はセルC2に=COUNTIF(A2:A6,"*")と入力しEnterを押します。
COUNTIF関数はCOUNTIF(範囲, 検索条件)で範囲内に検索条件に一致するセルが何個あるかカウントします。範囲にデータの範囲を指定し、検索条件にワイルドカードの*(アスタリスク)を指定すれば、*(アスタリスク)は文字数無制限の文字列を意味するので、全ての文字列が検索条件になるので範囲内の文字列セルの数をカウントできます。
つまりセルC2に=COUNTIF(A2:A6,"*")と入力しEnterを押すとセルA2からセルA6の範囲で文字列セルはセルA2の1つなので1が表示されます。