Excel で数値を省略表示するにはどうすればよいですか?
Excel で大規模なデータセットを扱う際、ワークシートが見づらくなったり、データの読み取りや分析が難しくなるような大きな数値に頻繁に遭遇します。たとえば、1,234,567や12,000,000といった値をそのまま表示すると、特にダッシュボードやサマリーレポートでは閲覧者に圧迫感を与えてしまいます。このような場合、数値を省略表示する(例:1234567 を1.23M に、12000 を12K に変換する)ことで、可読性が格段に向上し、スッキリとしたコンパクトなレイアウトを実現できます。本チュートリアルでは、Excel で数値を省略表示するための実用的な方法をいくつかご紹介します。ここには、組み込みの書式設定、数式、VBA マクロが含まれており、それぞれの方法はユーザーの好みやワークフロー要件に応じて最適なシーンで活用できます。
![]() | ![]() | ![]() |
数値の省略表示|Excel 数式による省略表示|VBA マクロによる数値の省略表示
数値の省略表示
Excel で数値を省略表示する最も簡単な方法の一つは、セルの書式設定ダイアログボックスから表示形式をカスタマイズすることです。この方法では、数値の見た目だけが変更され、セル内の実際の値はそのまま維持されるため、そのセルを使った計算結果も正確さを保ちます。特にクイックレポート作成時や、追加の列を設けずに数値を自動更新したい場面で効果的です。ただし、この方法ではテキスト形式の結果は得られず、同じ列内で「M」と「K」を複雑な条件に基づいて混在させることもできません。そうした高度な処理には、数式やマクロの方が適しています。
1.省略表示したい数値の範囲を選択し、その範囲内の任意のセルを右クリックして、コンテキストメニューからセルの書式設定を選択します。
![右クリックメニューから[セルの書式設定]をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/abbreviate-number/doc-abbreviate-numbers-3.png)
2.セルの書式設定ダイアログボックスで、数値タブに移動し、左側のリストからユーザー定義を選択して、種類フィールドに次のように入力します:[>999999]#,,「M」;#,「K」。このカスタム形式により、Excel は999,999 を超える数値を「M(百万)」で、それ以外の数値を「K(千)」で表示します。スクリーンショットをご参照ください:

3.OKをクリックして書式設定を適用します。これにより、「範囲を選択してください」内の数値が省略形式で表示され、大規模なデータセットを一目で素早く把握しやすくなります。

ヒント:大きな数値をすべて「K(千)」で表示したい場合は、種類ボックスに#,「K」と入力してください。百万単位の場合は#,,「M」、十億または兆単位の場合はそれぞれ#,,,「B」または#,,,,「T」を使用します。百万と十億を正しい単位とともに併用したい場合は、[>999999999.999]#,,,「B」;[>999999.999]#,,「M」;#,##0 _Mと入力してください。なお、数値の書式設定はあくまで表示上のものであり、計算時の値には影響しません。四捨五入や小数点以下の桁数、負の数の表示など、より細かなカスタマイズが必要な場合は、数式または VBA マクロをご検討ください。
注意点:データに1,000 未満の値が含まれる場合、それらは省略されず、元の数値として表示されます。ただし、この方法では、拡張されたユーザー定義書式を使用しても、同一セル内で「M」と「K」を組み合わせることはできません。また、書式設定された数値は内部で元の値を保持しているため、データをコピーまたはエクスポートすると混乱を招く可能性がありますのでご注意ください。
Excel の数式を使って数値を省略表示する(テキストに変換されます)
新しい列に省略表示の結果を表示したい場合や、小数点付きの表記(例:1.25M)、複数の単位(K、M、B、T)を混在させたい場合、あるいはテキスト出力などのカスタムロジックが必要な場合は、Excel 関数を使って動的な省略表示を実現できます。これは、他の数式や出力で表示テキストを固定したり操作したりしたい場面にも最適です。
適用可能なシーン:この方法は、テキスト出力が必要な場合や、カスタム形式では実現できない高度な省略ロジックが求められる場面に最適です。サマリーの作成、ダッシュボードでの表示、エクスポートまたは貼り付けた結果を共有する際にぴったりです。
1.対象セル(例:数値がセル)A2にある場合、セルB2)に次の数式を入力します:
=IF(ABS(A2)>=1000000000,TEXT(A2/1000000000,"0.00")&"B",IF(ABS(A2)>=1000000,TEXT(A2/1000000,"0.00")&"M",IF(ABS(A2)>=1000,TEXT(A2/1000,"0.00")&"K",A2))) この数式はセルA2の値をチェックし、1,000 未満の値はそのまま表示。それ以上の数値は、B(十億)、M(百万)、K(千)でスマートに省略表示します。小数点以下は常に2 桁まで表示され、負の数にもしっかり対応!
2.数式を確定するには、Enterキーを押してください。他の行にも適用したい場合は、フィルハンドルを下にドラッグするか、必要に応じて数式を他のセルにコピーしましょう。
実用的なヒント:小数点以下の桁数をカスタマイズするには、TEXT 関数内の「0.00」部分を調整してください(例:小数点1 桁の場合は「0.0」を使用)。非常に大きな数値(兆以上)を扱う場合は、IF 構文をさらに拡張しましょう。
注意点:この方法で出力されるのはテキスト形式のため、TEXT 関数内でカスタム書式を指定しない限り、SUM 関数などの計算式では正しく計算されません。末尾のゼロを表示したくない場合(例:「12M」を表示し、「12.00M」としない)は、TEXT 関数内でカスタム書式を設定してください。
VBA マクロを使って数値を省略表示する
数式や数値の書式設定では簡単に実現できないカスタムルールを適用したい場合や、範囲全体で数値の省略表示を完全に自動化したいユーザーは、Excel の VBA マクロをご利用いただけます。この方法では、元のセルに直接上書きするか、省略表示の結果を新しい列に追加でき、繰り返しの作業や大規模なテーブルの処理に適しています。
最適な用途:大規模または動的な範囲で省略表示を自動化したい場合、再利用可能なカスタムワークフローが必要な場合、あるいは可変レイアウトのデータを一括処理したい場合。
1.まず、Excel でAlt + F11を押して VBA エディターを開きます。VBA ウィンドウで、挿入>標準モジュールをクリックし、新しいモジュールを作成して、以下のコードをモジュールウィンドウにコピーしてください:
Sub AbbreviateNumbersAddColumn()
Dim rng As Range
Dim cell As Range
Dim destCol As Range
Dim abbrevValue As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select the range of numbers to abbreviate", xTitleId, rng.Address, Type:=8)
If rng Is Nothing Then Exit Sub
Set destCol = rng.Offset(0, 1).Columns(1)
For Each cell In rng
If IsNumeric(cell.Value) Then
If Abs(cell.Value) >= 1000000000 Then
abbrevValue = Format(cell.Value / 1000000000, "0.00") & "B"
ElseIf Abs(cell.Value) >= 1000000 Then
abbrevValue = Format(cell.Value / 1000000, "0.00") & "M"
ElseIf Abs(cell.Value) >= 1000 Then
abbrevValue = Format(cell.Value / 1000, "0.00") & "K"
Else
abbrevValue = cell.Value
End If
Else
abbrevValue = cell.Value
End If
destCol.Cells(cell.Row - rng.Row + 1, 1).Value = abbrevValue
Next
MsgBox "Abbreviated values written to the column to the right of the selection."
End Sub 2コードを実行するには、VBA ウィンドウを閉じてExcel に戻り、省略表示したい数値の範囲を選択してからF5 キーを押すか、[実行]をクリックします。マクロは範囲の選択を促した後、省略表示の結果を元の範囲のすぐ右隣の列に出力します。
使用上のヒント:元のデータを保持したい場合は安全です。結果は隣接する新しい列に表示されます。元のデータを上書きしたい場合はコードを修正してそのように設定できますが、バックアップがない限り推奨されません。
トラブルシューティングのポイント:ブックでマクロが有効になっていることを確認してください。データにテキストや空白セルが含まれている場合、マクロはそれらを変更せずにそのまま残します。カスタムラベル(例:「兆」を「T」と表示)を使いたい場合は、Ifブロックを適宜調整してください。
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得

