Excel関数 逆引き集 | 文字列エラー回避 → ISTEXT

Excel
スポンサーリンク

概要

Excel で計算しているときに、

  • 数値だと思っていたセルが実は「文字列」だった
  • 計算式に文字列が混ざって #VALUE! が出る
  • CSV や外部データ取り込みで「数字っぽい文字列」が紛れ込む

こうした “文字列が原因のエラー” を事前に回避する のに役立つのが
ISTEXT 関数です。

ISTEXT は 「これは文字列か?」 を TRUE / FALSE で判定する関数。
IF と組み合わせることで、文字列が混ざったときのエラーを防いだり、
入力チェックとして使ったりできます。


ISTEXT の基本

ISTEXT の書式と動き

=ISTEXT(値)

結果は TRUE か FALSE のどちらかです。

  • 値が文字列 → TRUE
  • 値が数値・日付・空白・エラー → FALSE

ポイントは「見た目」ではなく、
Excel が内部的に“文字列として扱っているか” を判定することです。

例:

セルの内容ISTEXT の結果
123FALSE(数値)
“123”TRUE(文字列)
ABCTRUE(文字列)
2025/12/31FALSE(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 行かませてみてください。

タイトルとURLをコピーしました