00123 などの先頭のゼロや、1234 5678 9087 6543 などの大きな数値を含むデータを Excel にインポートまたは入力したことがありますか? たとえば、社会保障番号、電話番号、クレジット カード番号、製品コード、アカウント番号、郵便番号などがあります。 Excel では、自動的に先頭のゼロが削除され、大きな数値が 1.23E+15 などの指数的表記に変換されて、数式や算術演算が使用できるようになります。 この記事では、Excel がテキストとして扱う元の形式でデータを保持する方法について説明します。
自動データ変換を設定する
重要
この機能は、Excel for Microsoft 365、Excel for Microsoft 365 for Mac、Excel 2024、Excel 2024 for Mac で使用できます。
Excel の 自動データ変換 機能を使用して、次の自動データ変換の Excel の既定の動作を変更します。
- 数値テキストから先頭のゼロを削除して数値に変換する。
- 数値データを 15 桁の精度に切り捨て、指数表記で表示される数値に変換します。
- 文字 "E" を囲む数値データを指数形式に変換する。
- 連続した文字と数字の文字列を日付に変換します。
詳細については、「 自動データ変換を設定する」を参照してください。
テキスト データのインポート時に数値をテキストに変換する
Excel の [データの取得と変換 (Power Query)] 操作環境を使用して、データのインポート時に個々 の列を文字列として書式設定します。 この場合は、テキスト ファイルをインポートしますが、データ変換手順は、XML、Web、JSON など、他のソースからインポートするデータの場合も同じです。
[データ] タブを選択し、[データの取得] ボタンの横にある [テキスト/CSV から] を選択します。 [データの取得] ボタンが表示されない場合は、[新しいクエリ]>[ファイルから]>[テキストから] に移動し、テキスト ファイルを参照してから、[インポート] を押します。
プレビュー ウィンドウにデータがロードされます。 プレビュー ウィンドウの [編集] を押して [クエリ エディター] をロードします。
テキストに変換する必要がある列がある場合は、列ヘッダーをクリックして変換する列を選択し、[ホーム>変換>データ型] に移動し>テキストを選択します。
ヒント
Ctrl キーを押しながら左クリックして、複数の列を選択できます。
次に、[列の種類の変更] ダイアログで [現在を置換] を選択すると、Excel は選択した列をテキストに変換します。
完了したら、[ 閉じる] & [読み込む] を選択すると、Excel はクエリ データをワークシートに返します。
今後データが変更された場合は、[ データ>更新] に移動すると、Excel によってデータが自動的に更新され、変換が適用されます。
ユーザー定義の表示形式を使用して先頭の 0 を保持する
他のプログラムでデータ ソースとして使用されていないため、ブック内でだけ問題を解決する場合は、カスタム書式または特別な書式を使用して先頭のゼロを保持することができます。 これは、16 桁未満の数値コードに適用されます。 さらに、ダッシュまたはその他の句読点で、数値コードを書式設定することができます。 たとえば、電話番号を読みやすくするため、国際コード、国/地域コード、市外局番、プレフィックス、および最後の数桁の数値の間にダッシュを追加できます。
| 数値コード | 使用例 | ユーザー設定の表示形式 |
|---|---|---|
| ソーシャル セキュリティ |
012345678 | 000-00-0000 012-34-5678 |
| 電話番号 | 0012345556789 | 00-0-000-000-0000 00-1-234-555-6789 |
| 郵便 コード |
00123 | 00000 00123 |
手順
書式設定するセルまたはセルの範囲を選択します。
Ctrl + 1 キーを押して、[セルの書式設定] ダイアログ ボックスを開きます。
[ 数値 ] タブを選択し、[ カテゴリ] リストで [ ユーザー設定] を選択し、[ 種類 ] ボックスに、社会保障番号コードの場合は 000-00-0000 、5 桁の郵便番号の場合は 00000 などの数値の表示形式を入力します。
ヒント
[特殊] を選択してから、[郵便番号]、[郵便番号 + 4]、[電話番号]、または [社会保障番号] を選択することもできます。
ユーザー定義のコードの詳細については、「ユーザー定義の表示形式を作成または削除する」をご覧ください。
注
書式設定する前に削除された先頭のゼロは復元されません。 書式設定を適用した後に入力される数値にのみ適用されます。
TEXT 関数を使用して表示形式を適用する
データの横にある空の列を使用し、TEXT 関数を使用して目的の形式に変換できます。
| 数値コード | 使用例 (セル A1) | TEXT 関数と新しい表示形式 |
|---|---|---|
| ソーシャル セキュリティ |
012345678 | =TEXT(A1,"000-00-0000") 012-34-5678 |
| 電話番号 | 0012345556789 | =TEXT(A1,"00-0-000-000-0000-0000") 00-1-234-555-6789 |
| 郵便 コード |
00123 | =TEXT(A1,"00000") 00123 |
クレジット カード番号が切り捨てられる
Excel の有効桁数の最大桁数は 15 桁です。つまり、クレジット カード番号など、16 桁以上の数値については、15 桁を超える数値はゼロに切り捨てられます。 16 桁以上の番号コードの場合は、テキスト形式を使用する必要があります。 これを行うには、次の 2 つのいずれかを行います。
列をテキストとして書式設定する
データ範囲を選択し、 Ctrl+1 を押して、[ セルの書式設定 ] ダイアログを起動します。 [ 数値 ] タブで、[ 文字列] を選択します。注
既に入力されている数値は変更されません。 書式設定を適用した後に入力される数値にのみ適用されます。
アポストロフィ文字を使用する
数値の前にアポストロフィ (') を入力することができます。これは文字列として扱われます。
補足説明
Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。