エクセルのIF関数で『文字の入力があれば』という判定式は?

判定

エクセルを使っていると、セルの中に『何か入力』されているかという判定をする場合はIF関数を使うことが多いです。

また、セルに入力されているのが文字なのか数値(数字)なのかという判定では、ISTEXT関数やISNUMBER関数を使います。

ISTEXT関数やISNUMBER関数を単独で使うことはあまりなく、ほとんどはIF関数と組み合わせます。

組み合わせるとなると一見難しそうですが、IF関数の使い方さえ理解すれば、そんなに難しくはありません。

ここでは、次の判定をする場合のIF関数と、IF関数と組み合わせる関数の使い方について解説します。

  • セルに何か入力されているか。(文字でも数値でも)
  • セルに文字が入力されているか。
  • セルに数字(数値)が入力されているか。
  • 異なるセルの内容が一致しているか。
  • 文字や数値が一致しない場合の原因と対策

 

エクセルでは入力チェックや、比較(一致判定)はよく使うので、ぜひ参考にしてください!

IF関数を使ってセルに『何か入力があるか』を判定

まずは、『セルに何か入力されているか?』をIF関数で判定する場合。

つまり、文字でも数値でも、とにかく何か入力されているか?という判定です。

 

下の画像の例では、判定対象のセルはC列で、判定のIF関数が入力されているのがD列

そして、IF関数の内容を解説用としてE列に表示させています。

何か入力されているかというIF関数の判定

=IF(C5<>””, “何か入っている”, “何もなし”)

この№1のIF関数を解説すると、『C4<>””』が判定式となり、C4がセルの位置(C列の4行目)で、『<>』は否定、『””』は空(未入力)をあらわします。

つまり、『C4<>””』は『C4のセルが空(未入力)でないか?』という判定になります。

関数などでは、文字列は『”』(ダブルクォーテーション)で囲むルールとなっているので、『””』は、間に何も文字がないので『空』という意味になります。

 

そして、判定の結果、真(空でない)の場合は、『真の処理』に書いている『何か入っている』という文字列を判定結果(D列)に表示し、偽(空)の場合は、 『何もなし』を表示します。

ここまででわかるように、№1のC列には『文字』が入力されているので、IF関数が入力されているセルに『何か入っている』が表示されるわけです。

 

同様に、№2も『123』が入力されているので、『何か入っている』を表示。

№3は一見何も入力されていないようですが、実は空白(スペース)の文字があるので、これも『何か入っている』を表示。

※空白(スペース)は見えないですが、文字であることに注意。

そして、№4は本当に何も入っていないので、偽の処理の『何もなし』が表示されています。

 

最後に、№5の判定式の『C8=””』は『空であるか?』という意味で、今までの判定式とは逆になります。

 

ここではIF関数を簡単に説明していますが、IF関数についての詳しい解説は次の記事に書いています。ぜひ参考にしてください。

ISTEXT関数とIF関数で『セルに文字が入力されているか』を判定

次は、セルに入力されているのが『文字』かどうかを判定する方法。

『文字かどうか』を判定するのは、ISTEXT関数で、英語の『is text?』ですね。

文字が入力されているかというIF関数の判定

これも№1を例に解説すると。

ISTEXT(C5)は『C5が文字か?』という判定になり、『文字』だった場合、真なので『文字』をD列に表示、C5が文字でない場合は、偽の『文字でない』を表示します。

見ての通り、C5は文字なので、『文字』が表示されてますね。

№2のC6は数値なので、結果は『文字でない』

№3は空白(スペース)が入力されているので、『文字』が表示されます。

ISNUMBER関数とIF関数で『セルに数値が入力されているか』を判定

続いては、『数値』(数字)かどうかの判定。

こちらはISNUMBER関数で判定します。(『is number?』ですね)

数値が入力されているかというIF関数の判定

№1では、『ISNUMBER(C5)』は『C5が数値か?』という判定になり、『数値』だった場合(真)は『数値』をD列に表示、数値でない場合(偽)は『数値でない』を表示します。

この判定により、№1のC5は文字なので『数値でない』が表示されています。

そして、№2のC6は数値なので、判定結果は『文字でない』

№3は空白(スペース)が入力されているので、『文字』が表示されます。

IF関数を使って『異なるセルの内容が一致しているか』を判定

続いては、異なるセルの内容が一致しているかどうかの判定。

これもIF関数を使います。

異なるセルの内容が一致しているかというIF関数の判定

№1のIF関数では『C5=D5』というのが、セルC5の内容とセルD5の内容が一致しているかとういう判定です。

つまり、=(イコール)が『一致しているか?』という意味になります。

なので、C5とD5が一致していたら(真)『一致』をIF関数のE列に表示し、一致していなかったら(偽)『一致していない』を表示します。

№は同じ『文字』が入力されているので、『一致』を表示。

同様に№2も『一致』、№3は入力内容が異なるので『一致しない』

最後は、どちらも未入力なので『一致』となります。

判定結果がTRUE、FALSEでいいのであればIF関数は不要

ここまでの判定では全てIF関数を使ってきました。

解説してきたように、IF関数は判定の結果により表示させる文字列を指定することができます。

なので、IF関数を使って『一致している』とか『文字』を表示させることで、判定結果をよりわかりやすくできるメリットがあります。

でも、判定結果がTRUE(真)かFALSE(偽)だけでいいのであれば、なにもIF関数を使う必要もなく、もっとシンプルに判定式を書くことができます。

IF関数なしで『セルに何か入力されているか』を判定

ここもわかりやすく例で解説します。

先に紹介したように、『何か入力されているか』という判定です。

文字が入力されているかという判定

IF関数を使う場合は、『=IF(C5<>””, “何か入っている”, “何もなし”)』と書きました。

でも、IF関数を使わないと『=C5<>””』と書けます。

かなりシンプルですよね^^

『=IF(C5<>””, “何か入っている”, “何もなし”)』の判定式をそのまま書いているだけです。

これで、『何か入力されている』場合は、『TRUE(真)』が表示され、『何も入力されていない』場合は、『FALSE(偽)』が表示されます。

№2~№4までも同様です(№3は空白があるのでTRUEとなっている)

IF関数なしで『異なるセルの内容が一致しているか』を判定

こちらも、IF関数を使わないとシンプルになります。

異なるセルの内容が一致しているかという判定

IF関数の場合だと『=IF(C5=D5, “一致”, “一致しない”)』でしたが、IF関数なしだと『=C5=D5』と書けます。

 

判定の結果により何か表示をしなくてもいい場合は、IF関数なしの方が判定式がシンプルになるので、こちらを使うべきですね。

文字や数値が一致しない場合の原因と対策

文字や数値が同じはずなのに、比較してみると『一致しない』という結果になる場合があります。

原因は、文字の場合は空白文字や制御コードが含まれていたり、数値の場合は文字列になっていたりという場合です。

対策としては、空白文字や制御コードを取り除くこと。

数値の場合は、文字列から元の数値に戻してあげることです。

一致しない原因と対策については、次の記事で詳しく書いているので、こちらを参考にしてください。

エクセルの入力判定、一致判定のまとめ

まとめ

  • 『何か入力されているか』は、IF関数。
  • 『文字が入力されているか』は、IF関数とISTEXT関数の組み合わせ。
  • 『数値が入力されているか』は、IF関数とISNUMBER関数の組み合わせ。
  • IF関数を使わない判定もできる

エクセルでは入力チェックや同一チェックが必要となることが多く、そういう場合はIF関数などで判定することで確実に処理できます。

ただし、IF関数を使うほどでもない場合もあります。

  • 明示的に判定結果を文字列で表示させたい場合はIF関数で対応。
  • 判定結果がTRUEかFALSEでいいのであれば、IF関数を使わずシンプルに。

入力判定や一致判定は、その都度使い分けていきましょう!