「このセルの値、本当に数値として入力されているか確認したい」「VLOOKUPが#N/Aを返したときだけ別のメッセージを出したい」「奇数行と偶数行で背景色を交互にしたい」――こうした場面を一行で解決できるのがIS系関数です。
ExcelにはISnumberをはじめとする情報関数(IS関数)が複数用意されており、セルのデータ型・エラーの種類・数値の奇偶・論理値かどうか・数式が入力されているかなどをTRUE/FALSE(論理値)で即座に返します。返り値が必ず論理値なので、IFや条件付き書式と組み合わせると表現力が大幅に上がります。
本記事では、ISNUMBER・ISTEXT・ISNA・ISERR・ISODD・ISEVEN・ISLOGICAL・ISREF・ISFORMULAの基本構文から実務シナリオ別活用パターン・MOS Excel試験の頻出操作チェックリストまでを体系的に解説します。
IS系関数の全体像
IS系関数は、引数で指定した値やセルを検査し、条件を満たすときTRUE・満たさないときFALSEを返します。構文はすべて=関数名(値)の1引数のみで、難しい設定はありません。
| 関数名 | TRUEになる条件 | 主な用途 |
|---|---|---|
| ISNUMBER | 数値(日付・時刻のシリアル値を含む) | 型チェック・テキスト数値の検出 |
| ISTEXT | 文字列 | 数値に見えるが文字列として格納されているセルの検出 |
| ISNA | #N/Aエラーのみ | VLOOKUP・XLOOKUPの「未検出」だけを個別処理 |
| ISERR | #N/A以外のすべてのエラー | #REF!・#VALUE!・#DIV/0!の検出。#N/Aは別処理したいとき |
| ISERROR | すべてのエラー(#N/A含む) | エラー全般を一括処理(別記事参照) |
| ISBLANK | 空白セル(値なし) | 未入力チェック(別記事参照) |
| ISODD | 奇数の整数(小数は整数部で判定) | 交互行着色・奇数行・奇数月の処理 |
| ISEVEN | 偶数の整数(小数は整数部で判定) | 交互列着色・偶数行・偶数月の処理 |
| ISLOGICAL | TRUE または FALSE(論理値型) | 論理値セルの識別・チェックボックス確認 |
| ISREF | 有効なセル参照 | INDIRECTで生成した参照の検証 |
| ISFORMULA | セルに数式が入力されている | 数式セルと値セルの識別・監査 |
ISERROR・ISBLANKは別記事「IFERROR・ISERROR・ISBLANK関数でエラーと空白を制御する」で詳しく解説しているため、本記事ではそれ以外のIS関数を中心に説明します。
ISNUMBER関数:セルが数値かどうかを判定する
ISNUMBERは指定したセルや値が数値型であればTRUEを返します。Excelの数値型には整数・小数のほか、日付・時刻のシリアル値も含まれます。日付を見て数値でないと思い込むのは誤りで、=ISNUMBER(DATE(2026,8,1))はTRUEになります。
=ISNUMBER(A1) ' A1が数値なら TRUE、文字列や空白ならFALSE
=ISNUMBER(100) ' → TRUE
=ISNUMBER("100") ' → FALSE(文字列の"100")
=ISNUMBER(DATE(2026,8,1)) ' → TRUE(日付はシリアル値=数値)
よくある落とし穴:数値に見えてもFALSEになる理由
他のシステムからコピーしたデータに「1,234」「100 」(末尾スペースあり)「¥500」などが含まれている場合、見た目は数値ですが文字列として格納されているためISNUMBERはFALSEを返します。セル左上に緑の三角(エラーインジケーター)が表示されていて「数値として保存された文字列」と示される場合がこの典型例です。
文字列を数値に変換するにはVALUE関数・*1演算・区切り位置ウィザードなどを活用します。ISNUMBERで型を確認してから変換処理を適用する流れが実務の基本です。
実務パターン①:IF+ISNUMBERで型分岐処理を行う
=IF(ISNUMBER(B2), B2*1.1, "要確認")
B2が数値なら1.1倍した値を返し、文字列・空白・エラーのときは「要確認」と表示します。データ取込後の前処理チェックに多用されるパターンです。
実務パターン②:FILTER+ISNUMBERで数値行だけを抽出する(Excel 365)
' A列が数値のデータ行だけをスピルで抽出
=FILTER(A2:C100, ISNUMBER(A2:A100))
種別混在のリストから数値行だけを瞬時に取り出せます。FILTER関数の第2引数には配列形式の論理値を渡せるため、ISNUMBERが返すTRUE/FALSE配列と相性が抜群です。
実務パターン③:SUMPRODUCT+ISNUMBERで文字列混在の件数を集計する
' B2:B100のうち文字列セルの件数を数える
=SUMPRODUCT((ISTEXT(B2:B100))*1)
' B2:B100のうち数値セルの件数を数える(COUNTA-文字列件数でも可)
=SUMPRODUCT((ISNUMBER(B2:B100))*1)
ISTEXT関数:セルが文字列かどうかを判定する
ISTEXTはセルや値が文字列型であればTRUEを返します。ISNUMBERと対になる関数で「このセルは数値か文字列か」の二者択一チェックに組み合わせて使います。
=ISTEXT(A1) ' A1が文字列ならTRUE
=ISTEXT("Excel") ' → TRUE
=ISTEXT(100) ' → FALSE
=ISTEXT("") ' → FALSE(空文字列も文字列と思いがちだが…)
注意点:空白セル(値なし)はISTEXTでFALSEになります。空白を文字列とみなすシステムもありますが、Excelでは「空白」「数値」「文字列」「論理値」「エラー」は別々の型として扱われます。また、数式の結果が文字列の場合(例:=TEXT(100,"#,##0")の結果「100」)はISTEXTがTRUEを返します。
実務パターン:データ品質チェックシートで型の整合性を確認する
別シートから取り込んだデータに本来数値であるべき列に文字列が混在していないかを一括チェックする例です。
| 確認列 | 期待する型 | 問題件数を集計する数式 |
|---|---|---|
| B列(金額) | 数値であるべき | =SUMPRODUCT((ISTEXT(データ!B2:B500))*1) |
| C列(商品名) | 文字列であるべき | =SUMPRODUCT((ISNUMBER(データ!C2:C500))*1) |
| D列(フラグ) | 論理値(TRUE/FALSE)であるべき | =SUMPRODUCT((ISLOGICAL(データ!D2:D500)=FALSE)*1) |
集計結果が0件でなければクレンジングが必要なレコードが含まれているとわかります。
ISNA関数とISERR関数:エラーの種類を選んで処理する
エラー検出のIS関数にはISNA・ISERR・ISERRORの3種類があり、検出対象の範囲が異なります。この使い分けを理解することがデバッグと品質管理の核心です。
| 関数 | 検出対象 | 使い分けポイント |
|---|---|---|
| ISNA | #N/Aのみ | VLOOKUPやXLOOKUPの「見つからない」だけを処理したいとき |
| ISERR | #N/A以外のすべてのエラー(#VALUE!・#REF!・#DIV/0!等) | #REF!など「設計ミスのエラー」だけ検出し、#N/Aは別途処理したいとき |
| ISERROR | すべてのエラー(#N/Aを含む) | エラー種類を問わず一括処理したいとき(別記事参照) |
ISNAを使う実務パターン:#N/Aだけを優しいメッセージに変換する
' IFERRORは全エラーを隠す(設計ミスの#REF!も見えなくなる危険あり)
=IFERROR(VLOOKUP(A2, 商品マスタ, 2, FALSE), "未登録")
' ISNAなら#N/Aのみを「未登録」に変換し、#REF!などは表に出す
=IF(ISNA(VLOOKUP(A2, 商品マスタ, 2, FALSE)),
"未登録",
VLOOKUP(A2, 商品マスタ, 2, FALSE)
)
IFERRORに比べてVLOOKUPを2回書く手間がありますが、参照範囲の誤りや列番号の設計ミスを見逃さないという安全上のメリットがあります。品質が重要な集計シートでは特に推奨されるパターンです。
ISNAとISERRを組み合わせる実務パターン:エラー種別メッセージを出し分ける
「#N/Aは『コード未登録』、それ以外のエラーは『数式エラー(設定確認)』と区別して表示したい」場合に有効です。
' LET関数でVLOOKUPの呼び出しを1回に集約し可読性を確保
=LET(
結果, VLOOKUP(A2, 商品マスタ, 2, FALSE),
IF(ISNA(結果), "コード未登録",
IF(ISERR(結果), "数式エラー(列設定を確認)",
結果
)
)
)
ISNA → ISERR の順で判定する構造です。ISERRは#N/A以外を検出するため、ISNAで分岐した後にISERRを使うと残る「本物のエラー」だけを捕捉できます。
ISODD・ISEVEN関数:奇偶を判定して行・列の自動着色に活用する
ISODDは値が奇数のときTRUE、ISODDは偶数のときTRUEを返します。引数に小数が指定された場合、整数部分のみで判定します(例:3.7はISODD=TRUE、4.2はISODD=FALSE)。文字列や空白を指定すると#VALUE!エラーになります。
=ISODD(3) ' → TRUE
=ISEVEN(4) ' → TRUE
=ISODD(0) ' → FALSE(0は偶数と扱われる)
=ISODD(3.7) ' → TRUE(整数部3で判定)
=ISEVEN(4.9) ' → TRUE(整数部4で判定)
実務パターン①:条件付き書式で交互行に色をつける(ゼブラストライプ)
テーブル機能を使わずに交互行を色分けしたい場合の定番パターンです。ROW()は現在行の行番号を返すため、ISODD(ROW())で奇数行かどうかを判定できます。
- 色をつけたいセル範囲を選択(例:A2:F100)
- 「ホーム」タブ→「条件付き書式」→「新しいルール」をクリック
- 「数式を使用して、書式設定するセルを決定する」を選択
- 数式欄に
=ISODD(ROW())を入力 - 「書式」で背景色(例:薄い青)を設定して「OK」
偶数行に色をつけたい場合は=ISEVEN(ROW())に変更します。両方設定すると行ごとに異なる色が交互に適用されます。
実務パターン②:奇数月・偶数月で集計先を自動振り分け
月次データが行に並ぶ表で、奇数月と偶数月を区別して処理するパターンです。
' A列に月番号(1~12)が入力されている前提
=IF(ISODD(A2), "第1四半期・第3四半期", "第2四半期・第4四半期")
' 条件付き書式:奇数月の行を強調
=ISODD($A2) ' (A列を絶対参照にして行全体に適用)
実務パターン③:ISODD+MOD関数の比較
ISODDは=MOD(値,2)=1と同義ですが、コードの可読性が上がります。どちらを選ぶかは好みによりますが、チームで使う数式はISEVEN/ISODDのほうが意図が明確です。
' 同じ意味(奇数行ならTRUE)
=ISODD(ROW())
=MOD(ROW(),2)=1
ISLOGICAL関数:論理値かどうかを判定する
ISLOGICALはセルや値がTRUEまたはFALSEの論理値型であればTRUEを返します。数値の1・0は論理値と異なるため、=ISLOGICAL(1)はFALSEです。
=ISLOGICAL(TRUE) ' → TRUE
=ISLOGICAL(FALSE) ' → TRUE
=ISLOGICAL(1) ' → FALSE(数値の1は論理値でない)
=ISLOGICAL(0) ' → FALSE
=ISLOGICAL(A1>0) ' → TRUE(比較式の結果は論理値)
主な活用場面はチェックボックスやフラグ列の型確認です。Excelのチェックボックス(2024年以降に追加されたネイティブチェックボックス)はTRUE/FALSEを格納するため、フラグ列に数値(1/0)が混在していないかをISLOGICALで確認できます。
ISREF関数:有効なセル参照かどうかを確認する
ISREFは引数が有効なセル参照であればTRUEを返します。INDIRECT関数で文字列からセル参照を動的に生成する際、存在しないシート名やセル番地を指定してしまうと#REF!エラーが発生する前に検証できます。
' A1にシート名が入力されているとき、そのシートが存在するか確認
=IF(ISREF(INDIRECT("'"&A1&"'!A1")),
INDIRECT("'"&A1&"'!A1"),
"シートが見つかりません"
)
ISREF自体に文字列を渡すとFALSEになります。INDIRECTを引数にラップすることで、INDIRECTが参照を構築できるかどうかを間接的に確認する使い方が定番です。
ISFORMULA関数:数式が入力されているセルを検出する
ISFORMULAはExcel 2013以降で使用できる関数で、指定セルに数式が入力されているとTRUE、値が直接入力されているとFALSEを返します。
=ISFORMULA(A1) ' A1が数式セルならTRUE、直接入力値ならFALSE
実務パターン:数式セルの監査と保護チェック
「計算式が入るべきセルが誰かに値貼り付けで上書きされていないか」「直接入力すべきセルに数式が入り込んでいないか」を条件付き書式で可視化します。
- 監視したいセル範囲を選択(例:D2:D100)
- 条件付き書式→新しいルール→「数式を使用して書式設定するセルを決定する」
- 数式欄に
=ISFORMULA(D2)=FALSEを入力 - 書式で赤い背景色を設定して「OK」
数式が削除されて直接値が入力されているセルが即座に赤くハイライトされます。集計シートの品質維持や引き継ぎ業務での確認に有効です。
IS関数を組み合わせた実務統合パターン
パターン①:データ取込シートの総合品質チェック表
複数のIS関数を使ってデータ品質を列ごとに自動集計するチェックシートの例です。
| チェック項目 | 数式(SUMPRODUCT形式) | ゼロでなければ対処が必要 |
|---|---|---|
| 金額列に文字列が混入 | =SUMPRODUCT((ISTEXT(データ!B2:B500))*1) | VALUE関数でテキスト→数値変換 |
| 商品名列に数値が混入 | =SUMPRODUCT((ISNUMBER(データ!C2:C500))*1) | TEXT関数またはアポストロフィ付き再入力 |
| フラグ列が論理値でない | =SUMPRODUCT((ISLOGICAL(データ!D2:D500)=FALSE)*1) | TRUE/FALSEへの修正またはIF変換 |
| 金額列に#N/Aが存在 | =SUMPRODUCT((ISNA(データ!B2:B500))*1) | マスタデータとの突合確認 |
| 集計列が数式でなく値 | =SUMPRODUCT((ISFORMULA(集計!E2:E500)=FALSE)*1) | 数式の再入力または上書き箇所の特定 |
パターン②:スピル関数との組み合わせで型別データを分割抽出
' 数値行のみ抽出(FILTER+ISNUMBER)
=FILTER(A2:C200, ISNUMBER(A2:A200))
' 文字列行のみ抽出(FILTER+ISTEXT)
=FILTER(A2:C200, ISTEXT(A2:A200))
' 数値行かつ金額が1万円以上の行を抽出
=FILTER(A2:C200, ISNUMBER(A2:A200)*(B2:B200>=10000))
FILTER関数の第2引数は配列形式の論理値を受け付けるため、IS関数の結果を直接渡すことができます。*演算子でAND条件、+演算子でOR条件を組み合わせられます。
パターン③:ISODD+ROWで行番号に応じた動的レイアウト
' 行番号が奇数か偶数かで表示内容を切り替える(カレンダー風)
=IF(ISODD(ROW()-1), "午前", "午後")
' 条件付き書式で3行ごとに色を変える(MODと組み合わせ)
=MOD(ROW()-2, 3)=0 ' 3行ごとの先頭行に背景色を適用
MOS Excel試験とIS系関数
IS系関数はMOS Excel 365の出題範囲に含まれます。分野別の出題数・配点は公表されていません。MOS Excel 365 アソシエイト(MO-210)の5つの出題領域のうち、IS関数は主に「数式や関数を使用した演算の実行」として位置づけられています。
試験で意識すべき構文のポイント
- 引数は1つ:すべてのIS関数は
=IS関数名(値またはセル参照)の1引数のみ - 返り値は必ずTRUEかFALSE:数値・文字列・エラーは返さない
- ISNAとISERRの違い:#N/Aのみを検出するか、#N/A以外を検出するか
- ISODDの小数の扱い:3.7はISODD=TRUE(整数部3で判定)
- ISFORMULAの対応バージョン:Excel 2013以降(MOS 365では利用可能)
頻出操作チェックリスト
- ☐ =ISNUMBER(A1) と =ISTEXT(A1) を打ち分けて型を確認できる
- ☐ =IF(ISNUMBER(B2), B2*1.1, “要確認”) の数式を組み立てられる
- ☐ ISNAとISERRORの違い(対象エラーの範囲)を説明できる
- ☐ 条件付き書式で =ISODD(ROW()) を使って交互行の色分けができる
- ☐ =ISFORMULA(A1) で数式セルと値セルを判別できる
- ☐ FILTER関数の第2引数にISNUMBERを渡してスピル抽出できる
- ☐ ISNA vs IFERROR どちらを使うべき場面かを判断できる
学習時間の目安
MOS Excel 365 アソシエイト(MO-210)全体の学習時間の目安は、初学者で40~60時間、業務でExcelを使っている方で20~30時間です。1日1時間のペースなら初学者で約2か月、経験者で3~4週間が目安となります。IS関数は構文がシンプルなため、Excelの基礎操作に慣れている方なら短時間で習得できます。
試験時間は50分、採点は1000点満点です。合格点は非公開で、一般に550点~850点が目安とされています。試験はマルチプロジェクト形式で、5個~10個のプロジェクトで構成されます。受験料の最新情報は公式サイトの「受験料・価格」(https://mos.odyssey-com.co.jp/exam/examfee.html)でご確認ください。合格率は公表されていません。
関連書籍のご紹介
PR
IS系関数をはじめ、Excel関数の基本から応用まで豊富なサンプルで解説。Copilot連携の最新活用法も収録しており、MOS試験対策にも実務強化にも使える1冊です。
PR
IF・ISN系・テキスト関数・スピル対応関数を網羅した時短テクニック集。ISNUMBER・ISTEXTを使ったデータクレンジングやエラー処理の実務パターンも多数掲載されています。
まとめ:IS系関数を使いこなしてExcelの「型意識」を高める
IS系関数はどれも構文がシンプルですが、活用の幅は非常に広いです。本記事のポイントを整理します。
- ISNUMBER・ISTEXT:型チェックの基本。テキスト数値の混在検出・IF分岐・FILTER抽出に多用する
- ISNA・ISERR:エラーを種類で選別。ISNAは「見つからない」のみ、ISERRは「設計ミスのエラー」のみを処理できる
- ISODD・ISEVEN:交互行着色・奇偶判定の定番。ROW()との組み合わせで条件付き書式が劇的に便利になる
- ISLOGICAL:論理値フラグ列の型確認。チェックボックス連携シートの品質保証に役立つ
- ISREF:INDIRECT動的参照の安全チェック。シート名が誤っていても#REF!前に検出できる
- ISFORMULA:数式セルの監査。値貼り付けによる上書きを条件付き書式で即座に可視化できる
IS系関数はMOS Excel 365の出題範囲に含まれ、IF関数や条件付き書式との組み合わせ問題として問われることがあります。試験対策として上記のチェックリストで操作を確認しておきましょう。実務でも「セルの型を疑う習慣」を身につけることで、集計ミスやエラーの根本原因を素早く特定できるようになります。
MOS Excel 365試験の詳細・申込方法は公式サイト(Odyssey Communication)でご確認ください。
