概要
Excel で計算しているときに、
- 数値だと思っていたセルが実は「文字列」だった
- 計算式に文字列が混ざって
#VALUE!が出る - CSV や外部データ取り込みで「数字っぽい文字列」が紛れ込む
こうした “文字列が原因のエラー” を事前に回避する のに役立つのが
ISTEXT 関数です。
ISTEXT は 「これは文字列か?」 を TRUE / FALSE で判定する関数。
IF と組み合わせることで、文字列が混ざったときのエラーを防いだり、
入力チェックとして使ったりできます。
ISTEXT の基本
ISTEXT の書式と動き
=ISTEXT(値)
結果は TRUE か FALSE のどちらかです。
- 値が文字列 → TRUE
- 値が数値・日付・空白・エラー → FALSE
ポイントは「見た目」ではなく、
Excel が内部的に“文字列として扱っているか” を判定することです。
例:
| セルの内容 | ISTEXT の結果 |
|---|---|
| 123 | FALSE(数値) |
| “123” | TRUE(文字列) |
| ABC | TRUE(文字列) |
| 2025/12/31 | FALSE(Excel では日付=数値) |
| 空白 | FALSE |
IF と組み合わせて「文字列なら回避」
数値計算に文字列が混ざるのを防ぐ
数量(B2)×単価(C2)を計算したいが、
C2 に文字列が入る可能性がある場合。
=IF(ISTEXT(C2), "", B2*C2)
- C2 が文字列 → 空白(計算しない)
- C2 が数値 → B2*C2 を計算
「文字列が原因の #VALUE!」を防げます。
文字列を検出してメッセージを出す
入力チェックとして使う
A2 に入力された値が文字列なら警告を出したい場合。
=IF(ISTEXT(A2), "文字が入っています", A2)
- 文字列 → 警告
- 数値 → そのまま表示
データ入力の品質チェックに便利です。
数値と文字列が混在する列を整える
数値だけを取り出す(文字列は 0 扱い)
=IF(ISTEXT(A2), 0, A2)
- 文字列 → 0
- 数値 → そのまま
この列を SUM すれば「数値だけの合計」が取れます。
文字列だけを抽出する
文字列ならそのまま、数値なら空白
=IF(ISTEXT(A2), A2, "")
- 文字列 → A2 を表示
- 数値 → 空白
「文字列だけを別列に抽出したい」場合に使えます。
ISTEXT と ISNUMBER の違い
ISTEXT は「文字列か?」
ISNUMBER は「数値か?」
両方を組み合わせると、
データの型チェックがとても強力になります。
例:
「数値でも文字列でもない(エラーや空白)」を検出したい場合:
=IF(AND(NOT(ISTEXT(A2)), NOT(ISNUMBER(A2))), "不正データ", "")
例題
問題1
A2 の値が文字列なら TRUE、文字列でなければ FALSE を返す式を書いてください。
=ISTEXT(A2)
問題2
B2 に数量、C2 に単価が入っています。
C2 が文字列の場合は空白(””)、
文字列でない場合は B2*C2 を計算する式を書いてください。
=IF(ISTEXT(C2), "", B2*C2)
問題3
A2 に入力された値が文字列なら「文字が入っています」、
文字列でなければ A2 をそのまま返す式を書いてください。
=IF(ISTEXT(A2), "文字が入っています", A2)
問題4
A2 の値が文字列ならそのまま表示し、
文字列でない場合は空白を返す式を書いてください。
=IF(ISTEXT(A2), A2, "")
問題5
A2 の値が文字列なら 0、
文字列でない場合は A2 を返す式を書いてください。
=IF(ISTEXT(A2), 0, A2)
まとめ
「文字列エラー回避 → ISTEXT」は、
“これは本当に文字列か?” を見極めて処理を分ける ための基本テクニックです。
型はこれだけ覚えれば十分です。
=IF(ISTEXT(セル), 文字列だったときの処理, 文字列でないときの処理)
数値と文字列が混ざると Excel はすぐエラーを出します。
ISTEXT を使って「文字列を事前に弾く」だけで、
計算式の安定性がぐっと上がります。
あなたのシートで「文字列が混ざってエラーが出ている列」があれば、
ぜひ ISTEXT を 1 行かませてみてください。
