「このセル、文字列だっけ数値だっけ……」と、データの種類がわからず困った経験はありませんか。
見た目が同じでもデータ型が違うと、VLOOKUP関数やCOUNTIF関数がうまく動かないことがあります。そんなときに役立つのがT関数です。
この記事では、Excel T関数の使い方として、文字列だけを取り出す基本動作から実務での活用テクニックまでまとめて紹介します。
この記事は次のような人におすすめ
– T関数の使い方を知りたい
– セルが文字列かどうか手軽に確認したい
– T関数とN関数・ISTEXT関数の違いを整理したい
T関数とは?
T関数は、指定した値が文字列ならそのまま返し、文字列以外なら空文字列(””)を返す関数です。
数値を渡すと空文字列、文字列を渡すとそのまま表示されます。もともとは他の表計算ソフトとの互換性のために用意された関数です。
ただし現在では、混在データから文字列だけを取り出すテクニックとして活用できます。N関数が「数値だけを取り出す」関数なら、T関数は「文字列だけを取り出す」対称ペアです。
NOTE
T関数はExcel 2007以降すべてのバージョンで使えます。Microsoft 365でも同じ書き方で動作します。
T関数の読み方
読み方は「ティー」関数です。アルファベットの「T」がそのまま関数名になっています。「Text」の頭文字に由来しています。
値の種類別・変換結果一覧
T関数に渡す値の種類と、返される結果の一覧です。
| 値の種類 | 変換結果 | 具体例 |
|---|---|---|
| 文字列 | そのままの文字列 | T(“東京”) → “東京” |
| 数値 | “”(空文字列) | T(100) → “” |
| 日付 | “”(空文字列) | T(A1) → “”(A1が日付の場合) |
| TRUE | “”(空文字列) | T(TRUE) → “” |
| FALSE | “”(空文字列) | T(FALSE) → “” |
| エラー値 | そのままのエラー値 | T(#N/A) → #N/A |
| 空白セル | “”(空文字列) | T(A1) → “”(A1が空白の場合) |
TIP
文字列以外を渡すと必ず空文字列が返る、というのがT関数の大きな特徴です。N関数の変換ルールとちょうど逆の動きになっています。
T関数の基本的な使い方
基本構文
=T(値)
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 値 | 必須 | 文字列かどうか調べたい値やセル参照 |
引数は1つだけで、省略はできません。セル参照でも直接入力でも指定できます。
文字列を渡すとそのまま返る
まずは基本的なパターンを見てみましょう。
=T("東京") → "東京"(文字列はそのまま)
=T("ABC123") → "ABC123"(文字列はそのまま)
=T(A1) → A1の値(A1が文字列の場合)
文字列として入力されていれば、数字を含む文字列(”ABC123″)でもそのまま返されます。
数値・日付・論理値を渡すと空文字列になる
T関数に文字列以外を渡すと、結果は空文字列になります。
=T(500) → ""
=T(TRUE) → ""
=T(A1) → ""(A1が日付や数値の場合)
ここで注意したいのが、セルに「123」と入力されている場合です。数値として入力されていればT関数は空文字列を返します。文字列として入力されていれば(先頭にアポストロフィを付けた場合など)そのまま「123」が返ります。
T関数の実用テクニック:文字列だけ取り出す
T関数が実務で活躍するのが、混在データから文字列だけを取り出す使い方です。
文字列セルだけを結合する
数値と文字列が混在する列から、文字列だけを拾って結合する例です。
=T(A1)&T(A2)&T(A3)&T(A4)&T(A5)
この数式は以下のように動作します。
- 各セルに対してT関数を適用する
- 文字列のセルはそのまま値が返る
- 数値のセルは空文字列が返る
&で結合すると、文字列だけがつながる
たとえばA1に「東京」、A2に100、A3に「大阪」が入っていれば、結果は「東京大阪」になります。
データクレンジングに活用する
データの種類が統一されていない列を整理するときにも使えます。
=IF(T(A1)<>"", A1, "要確認")
文字列セルはそのまま表示し、数値セルには「要確認」を表示します。文字列が入るべき列に数値が混ざっていないかチェックするのに便利ですね。
N関数と組み合わせて文字列・数値を振り分ける
N関数と組み合わせると、1つの列のデータを文字列と数値に振り分けられます。
B列(文字列だけ): =T(A1)
C列(数値だけ): =N(A1)
T関数が文字列だけ取り出し、N関数が数値だけ取り出します。対称ペアならではの使い方です。
TIP
文字列かどうかをTRUE/FALSEで判定したいなら、ISTEXT関数が適しています。T関数は「文字列そのものを取り出す」、ISTEXT関数は「文字列かどうかを判定する」という違いがあります。
T関数・N関数・VALUE関数・TYPE関数・ISTEXT関数を比較
T関数と似た役割を持つ関数を比較してみましょう。
5関数の用途早見表
| 関数 | 主な用途 | 入力例 | 結果 |
|---|---|---|---|
| T | 値が文字列ならそのまま返す | T(100) | “”(空文字列) |
| N | 値を数値に変換 | N(“東京”) | 0 |
| VALUE | 文字列形式の数値を数値に変換 | VALUE(“123”) | 123 |
| TYPE | データ型を数値コードで判定 | TYPE(“東京”) | 2 |
| ISTEXT | 文字列かどうかをTRUE/FALSEで判定 | ISTEXT(“東京”) | TRUE |
それぞれの関数は目的が異なります。
- T関数: 文字列ならそのまま返し、それ以外は空文字列を返す
- N関数: T関数の対称ペア。あらゆる値を数値に変換する。文字列は常に0
- VALUE関数:
"123"のような文字列形式の数値を数値に変換する。T関数やN関数と違い、文字列の中身を解釈する - TYPE関数: 値のデータ型を数値コード(1=数値、2=文字列など)で返す。変換はしない
- ISTEXT関数: 値が文字列かどうかをTRUE/FALSEで返す。T関数と似ているが、結果が論理値
使い分けの判断フロー
- 文字列だけを取り出したい → T関数
- 数値だけを取り出したい → N関数
- 文字列の
"123"を数値の123に変換したい → VALUE関数 - セルが文字列かどうかTRUE/FALSEで知りたい → ISTEXT関数
- データ型を数値コードで分類したい → TYPE関数
T関数とISTEXT関数の違いで迷いやすいポイントを補足します。T関数はA1が「東京」なら「東京」を返し、ISTEXT関数はTRUEを返します。文字列の値そのものが欲しいならT関数、判定結果が欲しいならISTEXT関数を使いましょう。
T関数のよくあるエラーと対処法
T関数はシンプルな関数なので、エラーが出ることは少ないです。ただし以下のケースには注意してください。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #VALUE!エラー | 引数を指定していない(=T()) | 引数を1つ必ず指定する |
| エラー値がそのまま返る | 引数にエラー値を渡した | IFERROR関数で囲みましょう |
| 数値なのに文字列が返る | セルの表示形式が「文字列」になっている | 表示形式を「標準」に変更して再入力 |
| 空文字列が返る | 引数が数値・日付・論理値のセル | T関数の仕様どおりの動作です |
NOTE
T関数は互換性関数に分類されています。文字列判定が主目的ならISTEXT関数のほうがTRUE/FALSEで結果がわかりやすいです。T関数ならではの強みは、文字列の値そのものを取り出せる点です。
まとめ
T関数は、指定した値が文字列のときだけそのまま返す関数です。
- 構文は
=T(値)で、引数は1つだけ - 文字列はそのまま返し、数値・日付・論理値・空白セルは空文字列を返す
- 混在データから文字列だけを取り出すテクニックとして使える
- N関数と組み合わせると、文字列と数値の振り分けができる
- 文字列判定にはISTEXT関数、文字列形式の数値変換にはVALUE関数が適切
T関数とN関数は対称ペアです。セットで覚えておくと、データの種類を意識した数式づくりに役立ちますよ。
