見た目は日付や時刻なのに、たまに文字列化されていてExcelの機能が使えない場合があります。。
文字列かどうかを見分ける良い方法はないですかね?
その場合は、関数の「TYPE」を活用すると良いですよ!
では、TYPEの使い方について解説していきますね。
はじめに
この記事は関数の概要を把握していることが前提です。
関数の概要については以下の記事をご参照ください。
はじめに この記事は数式の概要を把握していることが前提です。 参考記事 数式の概要の詳細は以下の記事をご参照ください。 関数とは 関数とは、数式の構成要素の1つであり、固有の計算/処理の機能がセットされた数式のことです。 …
エラーチェックが機能しない場合は「TYPE」が有効
Excelはセルの値とデータ型が不一致の場合、エラーチェックという機能でセルへエラーインジケーター(セルの左上隅に表示される緑の三角形)を表示してくれます。
これにより、ユーザーはデータ型の修正を行う必要があると認識することが可能です(場合によっておせっかいな場合もありますが)。
ただし、日付/時刻でデータ型が不一致の場合など、エラーインジケーターが表示されないケースもあります。
これでは、日付や時刻を対象にした機能を使えない場合など、データ型の不一致が起きているか調べたい時に困ってしまいます。
こんな場合、関数の「TYPE」を使うことで、セルの値のデータ型を特定することが可能となります。
ちなみに、TYPEは「タイプ」と呼びます。
よって、セルの値のデータ型を特定したい場合はTYPEを使用していきましょう。
エラーチェック/エラーインジケーターの詳細は、以下の記事をご参照ください。
手作業で数値のデータ型を「文字列」→「数値」へ変換したい場合は「エラーチェック」が有効 実務では、見た目のデータは数字なのに、なぜか集計できないケースがあります。 たとえば、次のように「金額」列の数字を合計したいのに、な …
TYPEの構文
TYPEの構文は以下の通りです。
=TYPE(値)
値のデータ型を表す整数(数値=1、文字列=2、論理値=4、エラー値=16、配列=64、複合データ=128)を返します。
引数名 | 必須 | データ型 | 説明 |
---|---|---|---|
値 | ○ | すべて | データ型を調べたい対象のセルを指定します。 |
基本的にTYPEの戻り値は「1(数値)」か「2(文字列)」のパターンを覚えればOKです。
セルの値が日付/時刻の場合、TYPEの戻り値は「1(数値)」となります。Excel上の時刻/時刻は「シリアル値」という数値(1900年1月1日を起点に何日目かをカウントした数値)で管理されているためです。
【参考】TYPEは「情報関数」
あくまで参考情報となりますが、TYPEはリボン「数式」タブの関数ライブラリの「情報」に分類されています。
実際にTYPEを活用する際は、以下で解説しているように直接入力で挿入していきましょう。
TYPEの使用結果イメージ
TYPEでセルの値のデータ型を特定したイメージは以下の通りです。
今回は「日付」列のデータ型を調べました。
結果は「2」のため、「日付」列のデータ型は「文字列」であることが分かりました。
あとは必要に応じてデータ型を正しいものに変換するなど対応しましょう。
なお、TYPEは原則一つの関数で一つのセルのみが特定対象です。
ベースの数式をセットしたら、他のセルへペーストしましょう。
【参考】TYPEは他の関数の戻り値を知りたい場合にも有効
複数の関数を組み合わせて(ネストして)使う場合、メインとなる関数の引数のデータ型と、サブとなる関数の戻り値のデータ型が一致していないとエラーになってしまいます。
よって、サブとなる関数の戻り値のデータ型が分からない場合は、TYPEで事前に調べると手戻りが減ります。
その際、調べたい関数をTYPEにネストしましょう。
たとえば、指定する引数の種類で戻り値が変わるOFFSETをネストした場合、このようにTYPEの戻り値が変わります。
ご覧の通り、3種類の引数の場合は「2(文字列)」でしたが、5種類の引数の場合は「64(配列)」であることが分かりました。
OFFSETの詳細については以下の記事をご参照ください。
Excel上級者となると、表の構成によって起点となるセルからスライドさせたセルの値が必要となるケースがあります …
先日OFFSET関数とMATCH関数を組み合わせてVLOOKUP関数より柔軟に表から検索値を返す方法について解 …
TYPEの数式の挿入手順
上記の結果を得るための手順は以下の通りです。
- 関数を挿入するセルを選択
※今回はI2セル - 「=ty」と入力
- サジェストから「TYPE」を選択し、「Tab」キーで確定
- 変換対象のセルを選択
※今回はB2セル - 「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はH3~H11セルへペースト
手順②の際にIMEを半角英数モードにすること。
テーブルの場合、手順⑥は不要(全レコードへ数式が自動的にコピーされる)。
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)
ブックを開いたら、次の手順を実施してください。(今までの解説のまとめです)
- 関数を挿入するセルを選択
※今回はI2セル - 「=ty」と入力
- サジェストから「TYPE」を選択し、「Tab」キーで確定
- 変換対象のセルを選択
※今回はB2セル - 「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はH3~H11セルへペースト
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
TYPEはデータ型の特定に役立つ関数のうちの一つです。
不具合があった時にデータ型が原因かどうか調べる機会があるなら、ぜひ覚えておいた方が良いですね。
なお、TYPE以外にもExcelでのデータ整形の各種テクニックを拙著で解説していますので、こちらも参考にしてみてください。
また、よりコアな情報を発信していくために「公式LINE」を開始しましたので、ご興味があれば以下バナーから友だち追加をお願いします!
特典として、Excelワークシート関数一覧(計22スライド)やExcelショートカットキー一覧(計25スライド)等をプレゼント!
ご参考になれば幸いですm(_ _)m
TYPEとセットで覚えておいた方が良い関数は、データ型の変換に役立つVALUE、DATEVALUE、TIMEVALUEです。
複数の関数をネストして思い通りの結果が得られない場合に、原因を特定する際にも役立ちますので、ぜひ覚えておきましょう。