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 によってクエリ データがワークシートに返されます。
今後データを変更する場合は、[データ]、[更新] の順に移動します。データが自動的に更新され、変換が適用されます。
ユーザー定義の表示形式を使用して先頭の 0 を保持する
他のプログラムでデータ ソースとして使用されていないため、ブック内でだけ問題を解決する場合は、カスタム書式または特別な書式を使用して先頭のゼロを保持することができます。 これは、16 桁未満の数値コードに適用されます。 さらに、ダッシュまたはその他の句読点で、数値コードを書式設定することができます。 たとえば、電話番号を読みやすくするため、国際コード、国/地域コード、市外局番、プレフィックス、および最後の数桁の数値の間にダッシュを追加できます。
数値コード |
使用例 |
ユーザー設定の表示形式 |
---|---|---|
Social 安全 |
012345678 |
000-00-0000 012-34-5678 |
電話番号 |
0012345556789 |
00-0-000-0000-0000 00-1-234-555-6789 |
Postal コード |
00123 |
00000 00123 |
手順
-
書式設定するセルまたはセルの範囲を選択します。
-
Ctrl + 1 キーを押して、[セルの書式設定] ダイアログ ボックスを開きます。
-
[ 数値 ] タブを選択し、[ カテゴリ ] の一覧で [カスタム ] を選択し、[ 種類 ] ボックスに番号の形式 (社会保障番号コードの 場合は 000-000-0000 など)、5 桁の郵便番号の 場合は 00000 を入力します。
ヒント: [特別] を選択し、[ 郵便番号]、[ 郵便番号 + 4]、[ 電話番号]、または [社会保障番号] を選択することもできます。
ユーザー定義のコードの詳細については、「ユーザー定義の表示形式を作成または削除する」をご覧ください。
注: 書式設定する前に削除された先頭のゼロは復元されません。 書式設定を適用した後に入力される数値にのみ適用されます。
TEXT 関数を使用して表示形式を適用する
データの横にある空の列を使用し、TEXT 関数を使用して目的の形式に変換できます。
数値コード |
使用例 (セル A1) |
TEXT 関数と新しい表示形式 |
---|---|---|
Social 安全 |
012345678 |
=TEXT(A1,"000-00-0000") 012-34-5678 |
電話番号 |
0012345556789 |
=TEXT(A1,"00-0-000-000-0000") 00-1-234-555-6789 |
Postal コード |
00123 |
=TEXT(A1,"00000") 00123 |
クレジット カード番号が切り捨てられる
Excel の有効桁数は最大 15 桁です。つまり、クレジット カード番号など、16 桁以上の数字を含む任意の数値の場合、15 桁目を超える数値はすべて 0 に切り捨てられます。 16 桁以上の番号コードの場合は、テキスト形式を使用する必要があります。 これを行うには、次の 2 つのいずれかを実行します。
-
列をテキストとして書式設定する
データ範囲を選択し、Ctrl + 1 キーを押して [セルの書式設定] ダイアログを起動します。 [ 数値 ] タブで、[テキスト] を選択します。
注: 既に入力されている数値は変更されません。 書式設定を適用した後に入力される数値にのみ適用されます。
-
アポストロフィ文字を使用する
数値の前にアポストロフィ (') を入力することができます。これは文字列として扱われます。
補足説明
Excel Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。