自分のPCでは綺麗に表示できていたExcel(エクセル)ファイルを、別のPCで開いたら見出しのフォントが変わっていたり、文字が四角や記号(文字化け)になっていたりして驚いた経験はないでしょうか。データの内容自体は壊れていなくても、見た目が崩れると資料としての信頼性に関わります。
本記事では、Excelのフォントが勝手に変わる・別のPCで文字化けする主な原因と、環境に左右されない統一方法を解説します。
目次
1. フォントが変わる・文字化けする主な原因
この現象の根本には、「Excelはフォントのデータそのものをファイルに埋め込まない(既定では)」という仕組みが関係しています。原因を一つずつ見ていきましょう。
原因1:使用しているフォントが相手のPCにインストールされていない
Excelファイルには「このセルにはこのフォント名を使う」という指定(テキスト情報)だけが保存されており、フォントのデザインデータそのものは基本的に埋め込まれません。そのため、作成者のPCには入っているものの、開く側のPCにはインストールされていない特殊なフォント(デザイン用の有料フォントや、特定の業務システム専用フォントなど)を使っていると、Windowsが自動的に似たような別のフォントに置き換えて表示します。これが「フォントが勝手に変わる」現象の最大の原因です。
原因2:「テーマのフォント」を使用しているセルと直接指定したセルの違い
Excelには、ブック全体の見た目を統一する「テーマ」という仕組みがあり、その中に「見出しのフォント」「本文のフォント」が設定されています。セルのフォントを個別に指定せず「(見出しのフォント)」「(本文のフォント)」のままにしていると、そのブックのテーマ設定に応じて表示されるフォントが自動的に変わります。一方で、フォント名を直接指定したセルはテーマの影響を受けません。この違いを理解していないと、同じファイルなのに一部のセルだけフォントが変わって見える原因が分からなくなります。
原因3:Excelの既定フォント設定がPCごとに異なる
「ファイル」>「オプション」>「全般」にある「新しいブックの作成時の既定のフォント」は、PCごとに個別に設定されています。あるPCでは「游ゴシック」が既定になっていても、別のPCでは「MS Pゴシック」が既定になっている、ということがあり、フォントを明示的に指定していない新規セルなどで見た目の違いが生じることがあります。
原因4:OSやOfficeの言語設定の違いによる文字化け
海外拠点とファイルをやり取りする場合など、Windowsの言語設定(表示言語やシステムロケール)が異なる環境でファイルを開くと、日本語フォントが正しく認識されず、文字が四角(□)や疑問符に置き換わって表示されることがあります。特に英語版OS環境で日本語フォント名が正しく解決できない場合に起きやすい現象です。
原因5:日本語フォント名の表記ゆれ(游ゴシックとYu Gothicなど)
同じフォントであっても、日本語環境では「游ゴシック」、英語環境では「Yu Gothic」という名前で管理されています。マクロ(VBA)でフォント名を直接指定している場合、日本語名でハードコーディングされたコードを英語環境のPCで実行すると、フォントが見つからずに既定フォントへ置き換わってしまうことがあります。
2. フォントを環境に左右されないように統一する対処法
対処法1:Windows標準搭載フォントの中から選ぶ
- 使用するフォントを「メイリオ」「游ゴシック」「游明朝」「MS Pゴシック」「MS 明朝」など、Windowsに標準で搭載されている定番フォントに絞ります。
- 社外に配布する資料では、特殊なデザインフォントの使用を避け、標準フォントで統一します。
- 会社として使用するフォントのルールを決めておき、テンプレートの時点でそのフォントを設定しておきます。
対処法2:テーマのフォントとセルの直接指定を統一する
- 「ページレイアウト」タブの「フォント」から、現在のテーマで使われている「見出し」「本文」のフォントを確認します。
- 意図せず直接指定になっているセルがあれば、フォント名を一度削除し、テーマのフォント(一覧の上部に表示される項目)を選び直します。
- 逆に、特定のセルだけは環境に関わらず絶対に同じフォントにしたい場合は、あえて直接フォント名を指定します。
対処法3:既定のフォント設定を確認・統一する
- 「ファイル」>「オプション」>「全般」を開きます。
- 「新しいブックの作成時」の「フォントの使用」欄を確認します。
- 社内で共通のフォントに揃えたい場合は、関係するPC全台でこの設定を同じフォントに変更します。
対処法4:PDFに変換して配布する
- 「ファイル」>「エクスポート」>「PDF/XPSドキュメントの作成」を選択します。
- PDFとして出力すると、フォントの形状情報がファイル内に埋め込まれるため、閲覧側の環境にフォントがなくてもレイアウトが崩れません。
- 編集の必要がなく、見た目の再現性を最優先したい配布資料ではこの方法が確実です。
対処法5:フォントの置き換え状況を一括チェックする
- 配布前に、実際に別のPC(できれば異なるOSバージョンや異なる言語設定の環境)でファイルを開いて見た目を確認します。
- 可能であれば、社内の共有フォルダーに使用しているフォントのインストーラーを置いておき、必要な人がインストールできるようにしておきます。
3. 【応用】VBAでブック内のフォント使用状況を洗い出す
大きな表やテンプレートの中で、どのセルにどのフォントが使われているかを手作業で確認するのは大変です。以下のマクロを使うと、シート内で使用されているフォント名を一覧化できます。
Sub ListUsedFonts()
Dim ws As Worksheet
Dim cell As Range
Dim fontDict As Object
Set fontDict = CreateObject("Scripting.Dictionary")
Set ws = ActiveSheet
For Each cell In ws.UsedRange
Dim fName As String
fName = cell.Font.Name
If Not fontDict.exists(fName) Then
fontDict.Add fName, 1
End If
Next cell
Dim key As Variant
Dim result As String
result = "このシートで使われているフォント一覧:" & vbCrLf
For Each key In fontDict.Keys
result = result & "・" & key & vbCrLf
Next key
MsgBox result, vbInformation, "フォント使用状況"
End Sub
実行結果に、標準搭載されていない特殊なフォント名が含まれていた場合は、配布前にフォントを差し替えるかPDF化を検討する目安になります。
4. まとめ
Excelのフォントが勝手に変わる・文字化けする原因の多くは、「フォントがファイルに埋め込まれていない」という仕組みそのものにあります。特殊なフォントを避けてWindows標準フォントに統一する、テーマのフォントと直接指定の違いを理解しておく、といった基本を押さえることで、多くのトラブルは未然に防げます。
どうしても見た目を完全に固定したい場合は、編集不要な最終版はPDFとして配布するのが最も確実な方法です。