【初心者向け】Excelの文字コードを理解しよう|文字化けしないための基礎知識

Excel

Excel(エクセル)でCSVファイルを開いたり、他のシステムからデータを取り込んだときに、こんな経験はありませんか?

  • 「文字化けして読めない!」
  • 「日本語が ??? に置き換わってしまった…」
  • 「数字は見えるが、カタカナ・ひらがなが変な記号になった」
  • 「他のシステムとのデータ交換でトラブルが続く」

その原因のほとんどは文字コードにあります。

文字コードとは、コンピューターが文字を認識するためのルールのこと。このルールが合わないと、日本語が正しく表示されずに文字化けが起こります。

この記事では:

  • Excelでよく出てくる文字コード(Shift-JIS、UTF-8)の基本
  • 文字化けが起こる理由と仕組み
  • Excelで文字コードを正しく選ぶ方法
  • 実務でよく使う注意点とトラブル解決方法
  • 他システムとの連携で失敗しないコツ

を初心者にも分かりやすく解説します。これを読めば、もう「文字化けでデータがめちゃくちゃ!」と慌てることはありません。

スポンサーリンク

文字コードとは?Excelとどう関係がある?

文字コード=文字を数値にしたルール

パソコンは文字をそのまま認識できません。「A」や「あ」といった文字は、内部では数値で管理されています。この「文字をどう数値化するか」のルールが文字コードです。

主要な文字コードの特徴

文字コード特徴使用場面
Shift-JIS日本のWindowsでよく使われるExcel標準、古いシステム
UTF-8世界的標準、多言語対応Web、現代システム、国際化
EUC-JPUnix系システムで利用古いサーバー、Linux環境
ISO-2022-JP日本語メール用古いメールシステム

なぜ文字化けが起こるのか?

例:「こんにちは」という文字の場合

同じ「こんにちは」でも:

  • Shift-JISでは:82B1 82F1 82C9 82BF 82CD
  • UTF-8では:E38193 E38293 E381AB E381A1 E381AF

異なる数値で表現されます。

文字化けのメカニズム

  1. UTF-8で「こんにちは」を保存
  2. Shift-JISとして読み込む
  3. 数値の解釈が違うため、意味不明な文字が表示される

Excelとの関係

Excelの既定動作

  • Windows版Excel:Shift-JISを前提
  • Mac版Excel:UTF-8を前提
  • Web版Excel:UTF-8を前提

トラブルが起きやすい場面

  • UTF-8のCSVをWindows Excelで直接開く
  • 他システムから出力されたデータの取り込み
  • 国際的なプロジェクトでのデータ交換
  • クラウドサービスとの連携

文字コードは「文字を数字にするルール」で、Excelではこれが合わないと文字化けが発生します。

Excelで文字コードを扱う主なシーン

CSVファイルを開くとき

最も多いトラブル場面

CSVファイルをダブルクリックで開くと、Excelは自動的にShift-JISとして解釈します。しかし、実際のファイルがUTF-8だった場合、日本語部分が文字化けします。

具体的な症状

  • 英数字:正常に表示
  • 日本語:??????縺薙s縺ォ縺。縺ッ のような意味不明な文字

テキストファイルのインポート

正しい取り込み方法

  1. 「データ」タブ → 「テキストまたはCSVから」を選択
  2. ファイルを選択すると、プレビュー画面が表示
  3. 「ファイルの種類」で文字コードを選択:
    • 65001: Unicode (UTF-8)
    • 932: 日本語 (Shift-JIS)
    • 51932: 日本語 (EUC)

プレビューで確認

  • 正しい文字コードを選ぶと、プレビューで日本語が正常表示
  • 間違った文字コードだと、プレビューでも文字化け

関数でコード値を確認

Excelには文字コードを確認する関数があります:

ASCII文字の確認

=CODE("A")
結果: 65

Unicode値の確認

=UNICODE("あ")
結果: 12354

文字を戻す関数

=CHAR(65)
結果: A

=UNICHAR(12354)
結果: あ

外部システムとの連携

よくある連携パターン

  • 基幹システム → Excel(データ分析用)
  • Excel → Webシステム(データアップロード)
  • 複数部署間でのCSVファイル共有
  • 海外拠点とのデータ交換

ExcelではCSVの取り込み・出力時に文字コードの問題が最も頻繁に発生します。

文字化けを防ぐExcel実践テクニック

方法1:テキストインポートウィザードを使う

最も確実で推奨する方法

手順

  1. Excelを起動
  2. 「データ」タブ → 「テキストまたはCSVから」
  3. 対象のCSVファイルを選択
  4. プレビュー画面で文字コードを確認・選択
  5. 日本語が正しく表示されることを確認してから「読み込み」

文字コードの選択肢

  • 65001: Unicode (UTF-8):現代的なシステム、Web系
  • 932: 日本語 (Shift-JIS):古いWindows系システム
  • 51932: 日本語 (EUC):Unix/Linux系システム

プレビューでの確認ポイント

  • 日本語の文字が正しく表示されているか
  • 記号や特殊文字が適切に認識されているか
  • データの区切り(カンマ、タブなど)が正しいか

方法2:メモ帳で文字コードを変換

シンプルで覚えやすい方法

手順

  1. 問題のCSVファイルをメモ帳で開く
  2. 「名前を付けて保存」を選択
  3. 保存時に「文字コード」を選択:
    • ANSI:Shift-JIS相当
    • UTF-8:UTF-8形式
    • UTF-8 BOM付き:ExcelがUTF-8と認識しやすい
  4. 変換したファイルをExcelで開く

注意点

  • 元ファイルのバックアップを取る
  • 文字コード変換で一部の文字が失われる可能性がある
  • ファイルサイズが変わる場合がある

方法3:Excel自体をUTF-8対応CSVで保存

他システムに渡すファイルの作成

手順

  1. Excelでデータを作成・編集
  2. 「名前を付けて保存」を選択
  3. ファイルの種類で以下を選択:
    • CSV UTF-8(コンマ区切り):UTF-8形式
    • CSV(コンマ区切り):Shift-JIS形式

使い分けのポイント

  • 現代的なシステム:CSV UTF-8を選択
  • 古いWindowsシステム:通常のCSVを選択
  • 不明な場合:相手先に確認

顧客マスタのやり取りでの実例

シチュエーション

  • A社(Excel + Shift-JIS)⇔ B社(Webシステム + UTF-8)
  • 顧客リストの定期的な交換が必要

問題

  • A社が通常のCSV保存をすると、B社で日本語が文字化け
  • B社がUTF-8でCSV出力すると、A社で日本語が文字化け

解決方法

  • A社:「CSV UTF-8」で保存してB社に送信
  • B社:UTF-8 BOM付きで出力してA社に送信
  • A社:受信時は「テキストインポート」でUTF-8指定

方法4:Power Queryを活用

Excel 2016以降の高機能な方法

手順

  1. 「データ」タブ → 「データの取得」
  2. 「ファイルから」→ 「テキスト/CSV」
  3. 詳細な文字コード設定とデータ変換が可能
  4. 繰り返し処理も自動化できる

よくあるトラブルと解決方法

文字化けの症状別対処法

症状1:日本語がすべて「?」になる

  • 原因:文字コードの完全な不一致
  • 解決:テキストインポートでUTF-8を試す

症状2:一部の漢字だけが変になる

  • 原因:機種依存文字や古い文字コード
  • 解決:文字の置き換えまたは入力し直し

症状3:記号や数字は正常、ひらがな・カタカナのみ化ける

  • 原因:EUC-JPとShift-JISの混在
  • 解決:EUC-JP指定でインポート

Excel版別の対応

Excel 2013以前

  • 「データ」→「外部データの取り込み」→「テキストファイル」
  • テキストインポートウィザードで文字コード選択

Excel 2016以降

  • 「データ」→「テキストまたはCSVから」
  • 新しいインポート機能でより直感的

Excel for Mac

  • Windows版と若干操作が異なる
  • UTF-8がデフォルトのため、Shift-JIS問題が逆転

ファイル作成者が不明な場合の対処

文字コード推定の手順

  1. まずUTF-8でインポートを試す
  2. 文字化けする場合はShift-JISを試す
  3. それでもダメならEUC-JPを試す
  4. 文字化けパターンから推定する

推定のヒント

  • Web系システム出力:UTF-8の可能性高
  • 古いWindowsソフト:Shift-JISの可能性高
  • Linux/Unix系:EUC-JPの可能性高

実務での注意点とベストプラクティス

システム間連携での注意点

事前確認事項

  • 相手先システムの対応文字コード
  • ファイル命名規則の制約
  • 特殊文字の扱い方針
  • エラー時の対応フロー

データ交換の取り決め

  • 文字コードの統一(推奨:UTF-8)
  • ファイル形式の標準化
  • テストデータでの事前確認
  • 定期的な検証体制

大量データ処理での工夫

パフォーマンス向上のコツ

  • 不要なデータの事前除去
  • 列数の最適化
  • Power Queryでの自動化
  • バッチ処理の活用

エラー処理の仕組み

  • 文字化け検知の自動化
  • エラーログの記録
  • 復旧手順の標準化

セキュリティ面での配慮

文字コード変換時の注意

  • 元データのバックアップ必須
  • 変換前後での内容確認
  • 機密情報の漏洩防止
  • アクセス権限の適切な設定

応用テクニック:VBAでの自動化

文字コード判定の自動化

文字コードを自動判定するVBAマクロの例:

Sub CheckEncoding()
    Dim fileName As String
    Dim textStream As Object
    Dim content As String
    
    ' ファイル選択
    fileName = Application.GetOpenFilename("Text Files (*.txt;*.csv), *.txt;*.csv")
    
    If fileName <> "False" Then
        ' UTF-8で読み込み試行
        Set textStream = CreateObject("ADODB.Stream")
        textStream.Charset = "UTF-8"
        textStream.Open
        textStream.LoadFromFile fileName
        content = textStream.ReadText
        textStream.Close
        
        ' 結果をメッセージボックスで表示
        MsgBox "UTF-8での読み込み結果: " & Left(content, 100)
    End If
End Sub

CSVインポートの自動化

Sub ImportUTF8CSV()
    Dim ws As Worksheet
    Dim queryTable As QueryTable
    
    Set ws = ActiveSheet
    
    ' UTF-8指定でCSVインポート
    Set queryTable = ws.QueryTables.Add( _
        Connection:="TEXT;" & Application.GetOpenFilename(), _
        Destination:=ws.Range("A1"))
    
    With queryTable
        .TextFileParseType = xlDelimited
        .TextFileCommaDelimiter = True
        .TextFilePlatform = 65001 ' UTF-8
        .Refresh
    End With
End Sub

まとめ:Excelの文字コードを理解して文字化けゼロへ!

Excelでの文字コード対策のポイント:

  • Excelの特徴を理解:Windows版はShift-JIS、現代システムはUTF-8が主流
  • 正しいインポート方法:「テキストまたはCSVから」で文字コードを明示的に選択
  • 保存時の注意:相手先システムに合わせた文字コードでCSV出力
  • 事前の確認:システム間連携では文字コードの取り決めが重要

文字化けを防ぐ鉄則

受け取るデータ

  1. ファイルの出力元システムを確認
  2. テキストインポートで適切な文字コードを選択
  3. プレビューで日本語表示を確認してから読み込み

渡すデータ

  1. 相手先システムの対応文字コードを確認
  2. 「CSV UTF-8」または通常CSVを使い分け
  3. テストファイルで事前確認

今日から始める3ステップ

  1. 基本操作をマスター:「テキストまたはCSVから」でのインポート方法
  2. 文字コードを意識:UTF-8、Shift-JISの違いを理解
  3. 実務で実践:自分の業務でのデータ交換ルールを見直し

コメント

タイトルとURLをコピーしました