ISLOGICAL 関数は、値が TRUE か FALSE(論理値)なら TRUE を返す関数です。ISNONTEXT 関数は、値が文字以外(数値・論理値・空白・エラー)なら TRUE を返します。
見た目が同じ「TRUE」でも、論理値と文字では結果がちがいます。この記事では、2 つの関数の使い方を、実際の Excel で確かめた結果で説明します。
ISLOGICAL・ISNONTEXT 関数の書き方
=ISLOGICAL(値)
=ISNONTEXT(値)
| 関数 | 結果 |
|---|---|
| ISLOGICAL | TRUE・FALSE なら TRUE |
| ISNONTEXT | 文字でなければ TRUE(空白・エラーも TRUE) |
ISNONTEXT は、文字なら TRUE になる ISTEXT 関数の反対です。
1. TRUE・FALSE かを調べる(ISLOGICAL)
A3 は、文字として入れた「TRUE」です。I2 に式を入れて、下へコピーします。
=ISLOGICAL(A2)

論理値の TRUE は TRUE、文字の「TRUE」は FALSE、1 は FALSE でした。
2. 文字以外かを調べる(ISNONTEXT)
同じ値を ISNONTEXT で調べます。
=ISNONTEXT(A2)

文字の「TRUE」と abc は FALSE、空白(A6)とエラー(A7)は TRUE でした。
3. ISTEXT とくらべる
ISTEXT は、文字なら TRUE です。
=ISTEXT(A2)

文字の 2 つだけが TRUE で、ISNONTEXT とちょうど反対の結果になりました。
4. TRUE・FALSE のセルを数える
ISLOGICAL に範囲を入れ、-- で 1 と 0 にして合計します。
=SUMPRODUCT(--ISLOGICAL(A2:A7))

結果は 1 でした。
【実機で検証】ISLOGICAL でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| 式の結果(1=1) | =ISLOGICAL(1=1) | TRUE |
| 文字の “FALSE” | =ISLOGICAL("FALSE") | FALSE |
| 数の 0 | =ISLOGICAL(0) | FALSE |
| 空の文字(””)の ISNONTEXT | =ISNONTEXT("") | FALSE |
| 数式で “” を返すセル(E4)の ISNONTEXT | =ISNONTEXT(E4) | FALSE |
| NOT(ISTEXT(A6))(空白のセル) | =NOT(ISTEXT(ISLOGICAL!A6)) | TRUE |
1=1 のような比べる式の結果は TRUE でした。文字の “FALSE” は FALSE、0 も FALSE で、0 と 1 は論理値ではありません。
空の文字 “” の ISNONTEXT は FALSE、数式で “” を返すセルも FALSE でした。見た目は空白でも、”” は文字です。本当の空白なら TRUE になります。
NOT(ISTEXT(A6)) は TRUE で、ISNONTEXT と同じ結果です。
よくある質問
文字の “TRUE” を論理値にしたいときは?
=A3="TRUE" とくらべると論理値になります。
数値かを調べたいときは?
ISNUMBER 関数を使います。
値の種類を番号でまとめて調べたいときは?
TYPE 関数は、論理値なら 4 を返します。

コメント