Excelには数多くの関数がありますが、その中でも「論理・情報系関数」は、データの性質を判断したり、エラーを検出したりする場面で欠かせない存在です。
たとえば、「セルが空欄かどうか」「数値か文字列か」「エラーの種類は何か」といった条件を自動でチェックできるのが、これらの関数の強みです。
この記事では、ISNUMBER・ISTEXT・ISBLANK・ISERROR・ISNA・TYPE・FORMULATEXT・INFO・CELL・ERROR.TYPEといった代表的な論理・情報系関数を、初心者にもわかりやすく解説します。
実務での活用例も交えて紹介しますので、Excel作業の精度を高めたい方はぜひ最後までご覧ください。
論理・情報系関数とは?
「論理・情報系関数」とは、セル内のデータの状態を判定したり、エラーやデータ型などの“情報”を取得したりするための関数です。
数値を計算する関数ではなく、「このセルにはどんな値が入っているのか」「正常なデータなのか」を調べる役割を持っています。
具体的には次のような用途で使われます。
- データ入力チェック(空欄・数値・文字などの判定)
- エラーの有無確認
- セルの情報(ファイルパス・シート名など)の取得
- 数式を文字列として表示
このように、IF関数などと組み合わせると非常に強力になります。
では、ここから各関数を詳しく見ていきましょう。
ISNUMBER関数 ― 数値かどうかを判定する
概要
ISNUMBER関数は、セルの内容が数値であるかどうかを調べる関数です。
数値ならTRUE(真)、そうでなければFALSE(偽)を返します。
構文
=ISNUMBER(値)
例
A列 | 式 | 結果 |
---|---|---|
123 | =ISNUMBER(A1) | TRUE |
“123” | =ISNUMBER(A2) | FALSE |
=1+1 | =ISNUMBER(A3) | TRUE |
「123」と入力されていても、文字列として扱われている場合はFALSEになります。
データの型を確認したいときに便利です。
ISTEXT関数 ― 文字列かどうかを判定する
概要
ISTEXT関数は、セルの内容が文字列(テキスト)であるかどうかを判定します。
構文
=ISTEXT(値)
例
A列 | 式 | 結果 |
---|---|---|
“ABC” | =ISTEXT(A1) | TRUE |
123 | =ISTEXT(A2) | FALSE |
=”A”&”B” | =ISTEXT(A3) | TRUE |
ISTEXTは、関数の結果が文字列を返す場合もTRUEになります。
IF関数と組み合わせれば、文字データだけを処理する条件分岐を作ることができます。
ISBLANK関数 ― セルが空欄かを判定する
概要
ISBLANK関数は、セルが空欄かどうかを調べます。
空欄ならTRUE、データがあるならFALSEを返します。
構文
=ISBLANK(セル参照)
例
A列 | 式 | 結果 |
---|---|---|
(空白) | =ISBLANK(A1) | TRUE |
” “(スペース) | =ISBLANK(A2) | FALSE |
0 | =ISBLANK(A3) | FALSE |
注意点として、「スペース」や「数式の結果が空文字(””)」の場合はFALSEになります。
完全に何も入力されていない状態のみTRUEです。
ISERROR関数 ― エラーの有無を判定する
概要
ISERROR関数は、セルがエラー値を返しているかを判定します。
エラーであればTRUE、正常ならFALSEを返します。
構文
=ISERROR(値)
例
A列 | 式 | 結果 |
---|---|---|
#DIV/0! | =ISERROR(A1) | TRUE |
100 | =ISERROR(A2) | FALSE |
=A3/B3(B3が0) | =ISERROR(A3/B3) | TRUE |
Excelの代表的なエラー(#N/A、#VALUE!、#REF!、#DIV/0!など)をすべて検出します。
古いバージョンでは、エラー処理を行うIF関数と併用するケースが多く見られました。
ISNA関数 ― 「#N/A」エラーを判定する
概要
ISNA関数は、エラーの中でも「#N/A(該当なし)」のみを検出します。
構文
=ISNA(値)
例
A列 | 式 | 結果 |
---|---|---|
#N/A | =ISNA(A1) | TRUE |
#REF! | =ISNA(A2) | FALSE |
=VLOOKUP(“X”,範囲,2,FALSE) | =ISNA(この式) | TRUE(該当なしの場合) |
VLOOKUP関数などで「データが見つからない」ときに出る#N/Aを処理するのに最適です。
ISERRORだと他のエラーも含まれるため、「データ未登録だけを判定したい」場合はISNAを使います。
TYPE関数 ― データの種類を数値で返す
概要
TYPE関数は、セル内のデータ型(数値・文字列・エラーなど)を数値で返します。
条件分岐や動的処理を行う際に便利です。
構文
=TYPE(値)
返り値一覧
結果 | 意味 |
---|---|
1 | 数値 |
2 | 文字列 |
4 | 論理値(TRUE/FALSE) |
16 | エラー値 |
64 | 配列 |
例
A列 | 式 | 結果 |
---|---|---|
123 | =TYPE(A1) | 1 |
“ABC” | =TYPE(A2) | 2 |
TRUE | =TYPE(A3) | 4 |
#REF! | =TYPE(A4) | 16 |
TYPE関数は他のIS関数と違い、データ型を「数値コード」で返します。
プログラム的にデータを分類したいときに使われます。
FORMULATEXT関数 ― 数式を文字列として表示する
概要
FORMULATEXT関数は、指定したセルに入力されている数式そのものを文字列として表示します。
構文
=FORMULATEXT(参照)
例
A列 | 式 | 結果 |
---|---|---|
=A1+B1 | =FORMULATEXT(A2) | “=A1+B1” |
セル内でどんな計算をしているかを一覧化するときに便利です。
ただし、参照先のセルが数式でない場合はエラー(#N/A)になります。
INFO関数 ― システム情報を取得する
概要
INFO関数は、Excelの実行環境に関する情報(OSやファイルパスなど)を取得する関数です。
構文
=INFO(種類)
主な引数と結果
種類 | 内容の説明 | 例 |
---|---|---|
“directory” | 現在のディレクトリ | C:\Users\UserName\Documents |
“osversion” | OSのバージョン | Windows (32-bit) NT 10.00 |
“origin” | A1セルの参照 | $A:$1 |
“recalc” | 再計算モード | 自動 |
“system” | システム名 | PC-DOS |
INFO関数はあまり一般的ではありませんが、環境依存のマクロやテンプレートを作る際に役立ちます。
CELL関数 ― セルの情報を取得する
概要
CELL関数は、指定したセルの情報(アドレス・ファイル名・書式・行番号など)を取得します。
構文
=CELL(情報の種類, 参照)
主な引数一覧
種類 | 内容 | 例 |
---|---|---|
“address” | セルの参照を文字列で返す | $A$1 |
“filename” | ファイル名(ブック名+シート名) | C:\Excel[test.xlsx]Sheet1 |
“row” | 行番号 | 1 |
“col” | 列番号 | 1 |
“type” | 値の種類(b=空白, l=文字列, v=値) | v |
例
=CELL("address",A1) → "$A$1"
=CELL("filename",A1) → "C:\Excel\[Book1.xlsx]Sheet1"
ファイル管理や動的参照を使うExcel設計でよく使われる関数です。
ERROR.TYPE関数 ― エラーの種類を番号で判定する
概要
ERROR.TYPE関数は、エラーの種類を数値で返す関数です。
どの種類のエラーが発生しているのかを区別できます。
構文
=ERROR.TYPE(値)
返り値一覧
結果 | エラーの種類 |
---|---|
1 | #NULL! |
2 | #DIV/0! |
3 | #VALUE! |
4 | #REF! |
5 | #NAME? |
6 | #NUM! |
7 | #N/A |
8 | #GETTING_DATA |
例
A列 | 式 | 結果 |
---|---|---|
#N/A | =ERROR.TYPE(A1) | 7 |
#DIV/0! | =ERROR.TYPE(A2) | 2 |
正常値 | =ERROR.TYPE(A3) | #N/A(エラーでない場合) |
エラーの種類ごとに異なる処理をしたい場合に重宝します。
実務での活用例
① 入力データのチェックに使う
=IF(ISBLANK(A1),"未入力","入力済み")
空欄を検出して警告を出したり、入力ステータスを表示するのに便利です。
② 数値データの妥当性確認
=IF(ISNUMBER(A1),A1,"数値を入力してください")
誤って文字列が入力された場合に注意を促す仕組みを作れます。
③ エラーを回避したVLOOKUP
=IF(ISNA(VLOOKUP(A1,範囲,2,FALSE)),"該当なし",VLOOKUP(A1,範囲,2,FALSE))
検索結果が見つからない場合でも、エラーを回避してメッセージを表示できます。
④ 数式一覧を作る
=FORMULATEXT(A1)
シート全体の数式を一覧化して監査に利用できます。
まとめ
論理・情報系関数は、Excelを使いこなす上で欠かせない“裏方”の関数です。
単体でも便利ですが、IF・VLOOKUP・IFERRORなどと組み合わせることで、エラーを防ぎ、データの信頼性を高めることができます。
今回紹介した関数をうまく使えば、
- 入力チェックを自動化
- エラー処理をスマートに
- データ管理の精度アップ
といったメリットが得られます。
実務でのトラブルを減らし、より効率的なExcel活用を目指してみてください。
コメント