目次
このチュートリアルでは、ExcelのISTEXT関数とISNONTEXT関数を使用して、セルにテキスト値が含まれているかどうかをチェックする方法について説明します。
Excelでセルの内容に関する情報を得る必要がある場合、通常はいわゆる情報関数を使用します。 ISTEXTとISNONTEXTはこのカテゴリに属し、ISTEXT関数は値がテキストかどうか、ISNONTEXT関数は値がテキストでないかどうかをチェックします。 この関数は、その概念が単純であってもExcelのさまざまなタスクを解くのに驚くほど便利なものです。
エクセルISTEXT関数
ExcelのISTEXT関数は、指定された値がテキストかどうかをチェックします。 値がテキストの場合、この関数はTRUEを返します。 その他のデータ型(数字、日付、空白セル、エラーなど)については、FALSEを返します。
構文は以下の通りです。
ISTEXT(値)
どこ 価値 は、結果をテストしたい値、セル参照、式、その他の関数です。
例えば、A2の値がテキストかどうかを調べるには、次のような簡単な数式を使います。
=ISTEXT(A2)
エクセルISNONTEXT関数
ISNONTEXT関数は、数値、日付、時刻、空白、その他テキスト以外の結果やエラーを返す数式など、テキスト以外の値に対してはTRUEを返します。 テキスト値に対しては、FALSEを返します。
構文はISTEXT関数と同じです。
ISTEXT(値)
例えば、A2の値がテキストでないことを確認するには、次の式を使用します。
=ISNONTEXT(A2)
下のスクリーンショットに示すように、ISTEXTとISNONTEXTの計算式は逆の結果を返します。
ExcelのISTEXT関数とISNONTEXT関数 - 使用上の注意点
ISTEXTとISNONTEXTは、非常にわかりやすく、使いやすい機能なので、特に困ることはないと思います。 しかし、いくつか注意すべきポイントがあります。
- どちらの関数も、論理値(ブール値)であるTRUEまたはFALSEを返すIS関数群に属します。
- という具体的なケースで 数値はテキストとして保存されます ISTEXTはTRUEを、ISNONTEXTはFALSEを返します。
- いずれの関数も、Office 365、Excel 2019、Excel 2016、Excel 2013、Excel 2010、Excel 2007、Excel 2003、Excel XP、Excel 2000のすべてのバージョンのExcelで利用可能です。
ExcelでISTEXTとISNONTEXTを使用する - 計算式の例
以下に、ExcelのISTEXT関数とISNONTEXT関数の実用的な使用例を紹介しますので、ワークシートをより効率的にするためにお役立てください。
値がテキストであるかどうかをチェックする
たくさんの数値を扱っていると、数式が間違った結果やエラーを返すことに驚くことがあります。 最も明らかな理由は、問題のある数値がテキストとして保存されていることです。 以下の数式は、Excelから見てどの数値がテキストであるかを教えてくれるものです。
ISTEXT式。
Excel が考慮するすべての値に対して TRUE を返します。 テキスト .
=ISTEXT(B2)
ISNONTEXT式。
Excel が考慮するすべての値に対して TRUE を返します。 ノンテキスト .
=ISNONTEXT(B2)
データ検証用ISTEXT:テキストのみ許可する
特定のセルにはテキスト値しか入力できないようにしたい場合があります。 これを実現するには、ISTEXT式に基づくデータ検証ルールを作成します。 その方法は次のとおりです。
- 検証したいセルを1つまたは複数選択します。
- について データ タブで データツール グループをクリックします。 データバリデーション ボタンをクリックします。
- について 設定 のタブをクリックします。 データバリデーション ダイアログボックスで カスタム を検証条件とし、対応するボックスにISTEXT式を入力します。
- OKをクリックして、ルールを保存します。
この例では、セルB2~B4のアンケート回答を、この数式を使って検証しています。
=ISTEXT(B2:B4)
さらに、独自に設定した エラーアラート メッセージで、どのようなデータが受け入れられるかをユーザーに説明することができます。
その結果、ユーザーが有効なセルのいずれかに数値や日付を入力しようとすると、次のようなアラートが表示されます。
詳しくは、「Excelでデータの検証を使う」をご覧ください。
エクセル IF ISTEXT式
実際には、IF関数と一緒にISTEXTとISNONTEXTを使うことで、標準のTRUEとFALSEよりも使いやすい結果を出力することが多い。
式1.テキストである場合
最初の例をもう少し進めて、テキスト値には「はい」、それ以外には「いいえ」を返したいとします。 これを実現するには、IFの論理テストにISTEXT関数をネストして、「はい」「いいえ」を使用するだけです。 value_if_true と value_if_false の引数をそれぞれ指定します。
=IF(ISTEXT(A2), "はい", "いいえ")
数式2.セルの入力を確認する
前の例で、データバリデーションを使用して、有効なユーザー入力を確認する方法を説明しました。 これは、ExcelのIF ISTEXT式を使用して、「より穏やかな」形で行うことも可能です。
アンケートで、どの回答が有効(テキスト)で、どの回答が無効(非テキスト)かを判断したいとします。 これには、次のロジックで入れ子になったIF文を使用します。
- テストされたセルが空の場合、何も、すなわち空の文字列("")を返す。
- セルがテキストの場合、"Valid answer "を返す。
- 上記のどちらでもない場合、"Invalid answer - please enter text. "を返す。
これらをまとめると、次のような式になり、B2がチェックするセルとなります。
=IF(B2="", "", IF(ISTEXT(B2), "有効な回答", "無効な回答 - テキストを入力してください。"))
範囲にテキストが含まれるかどうかをチェックする
これまでは、各セルを個別にテストしていましたが、範囲内のどのセルにもテキストが含まれているかどうかを知る必要がある場合はどうすればよいでしょうか。
全範囲をテストするには、ISTEXT関数とSUMPRODUCTをこのように組み合わせます。
スンプロダクト(istext( レンジ )*1)>0SUMPRODUCT(--ISTEXT()) レンジ ))>0例として、以下のデータセットの各行にテキスト値があるかどうかをチェックしてみましょう。これは、以下の数式で行うことができます。
=SUMPRODUCT(ISTEXT(A2:C2)*1)>0
=SUMPRODUCT(--ISTEXT(A2:C2))>0
上記の数式の1つがセルD2に入り、それをセルD5までドラッグします。
これで、どの行に1つ以上のテキスト文字列が含まれているか(TRUE)、どの行に数字だけが含まれているか(FALSE)を明確に理解することができました。
TRUEやFALSEではなく、「はい」「いいえ」と異なる結果を返したい場合は、上記の数式をIF文で囲んでください。
=IF(SUMPRODUCT(--ISTEXT(A2:C2))>0, "はい", "いいえ")
この式の仕組み
この式は、SUMPRODUCTがネイティブに配列を処理する能力に基づいています。 内部から外に作業を進めると、次のようになります。
- ISTEXT関数は、TRUEとFALSEの値の配列を返します。 A2:C2については、このような配列が得られます。
{真,真,偽}。
- 次に、上記の配列の各要素を1倍して、論理値であるTRUEとFALSEをそれぞれ1と0に変換する。 同じ目的で、二重単項演算子(--)も使用できる。 変換後の式は次のようになる。
SUMPRODUCT({1,1,0})>0
- SUMPRODUCT関数は、1と0を足し合わせて、結果が0より大きいかどうかをチェックします。 もし大きければ、その範囲には少なくとも1つのテキスト値が含まれており、数式はFALSEでなければ、TRUEを返します。
セルに特定のテキストが含まれているかどうかをチェックする
ExcelのISTEXT関数は、セルにテキストが含まれているかどうかだけを判断します。 セルに特定のテキスト文字列が含まれているかどうかを調べるには、ISNUMBER SEARCH式またはCOUNTIFをワイルドカード付きで使用します。
たとえば、A2 のアイテム ID がセル D2 に入力されたテキスト文字列を含むかどうかを確認するには、次の数式を使用します(数式を他のセルにコピーしてもセルアドレスが変わらないように、絶対参照 $D$2 を意識してください)。
=isnumber(search($d$2, a2))
便宜上、IF関数にラップしておきます。
=IF(ISNUMBER(SEARCH($D$2, A2)), "はい", "いいえ")
そして、次のような結果を得る。
COUNTIFでも同様の結果を得ることができます。
=IF(COUNTIF(A2, "*"&$D$2& "*")>0, "はい", "いいえ")
詳しい例は、Excel セルに数式が含まれている場合 をご覧ください。
テキストを含むセルを強調表示する
ISTEXT関数は、Excelの条件付き書式を使って、テキスト値を含むセルをハイライトすることもできます。 その方法は次のとおりです。
- チェックしたいセルをすべて選択し、ハイライト表示します(この例ではA2:C5)。
- について ホーム タブで スタイル グループをクリックします。 新ルール > 数式を使用して、どのセルをフォーマットするかを決定する .
- での この式が真である場合の値のフォーマット ボックスに、以下の数式を入力してください。
=ISTEXT(A2)
ここで、A2 は選択された範囲の左端のセルです。
- をクリックします。 フォーマット ボタンをクリックし、希望のフォーマットを選択します。
- OK]を2回クリックして、両方のダイアログボックスを閉じ、ルールを保存します。
各ステップの詳しい説明は、「Excelの条件付き書式設定に数式を使用する」をご覧ください。
その結果、Excelは任意のテキスト文字列を含むすべてのセルをハイライト表示します。
以上、ExcelのISTEXT関数とISNONTEXT関数の使い方でした。 読んでいただきありがとうございました!来週のブログでお会いできるのを楽しみにしています。
ダウンロード可能なもの
ExcelのISTEXTとISNONTEXTの計算式例