「まったく同じ文字に見えるのに、なぜか一致しない」——このシリーズも、今回で13回目になります。
私自身、Excelを使い始めたばかりの頃は、VLOOKUPで検索してもヒットしなかったり、一部のデータだけ結果がおかしかったりと、原因の分からないトラブルに何度も悩まされてきました。初心者のころは「関数の設定ミスだ」と思い込んで、何度も式を見直していましたが、実際には、関数ではなく”文字の中身”が違うというケースが非常に多かったのです。
以前、2つの部署の顧客リストを1つにまとめて照合しようとしたとき、片方のリストのカナ表記がすべて半角、もう片方が全角になっていて、名前がほとんど一致しなかったことがあります。画面上ではどちらも同じ「アップル商店」のように見えるのに、VLOOKUPはことごとく#N/Aを返してくる。原因が「半角カナと全角カナの違い」だと分かったときには、あまりに見た目が同じすぎて、思わず二度見してしまいました。
これまで①〜⑫では、文字列・空白・改行・形式の不統一など、さまざまな「見えない違い」を研究してきました。今回のテーマは「文字コード違いで文字になる」ケースです。少し専門的な言葉ですが、現場ではかなり頻繁に発生するトラブルです。そして厄介なのが、見た目ではほぼ判別できないという点です。では、一緒に研究していきましょう。
よくある状況
まずはよくある例を見てみます。次のような商品名のデータがあるとします。

見た目としては、ほぼ同じに見えます。この状態で、別の表と照合するためにVLOOKUP関数を使います。
=VLOOKUP(A2, 範囲, 列番号, FALSE)
すると、一致しない、という現象が起きます。
「同じ”アップル”なのに、なぜ?」——ここで疑うべきなのが、今回のポイントです。
原因:文字コードが違う
先ほどの2つの「アップル」の違いを整理してみます。

同じ「アップル」でも、片方は半角カナ、もう片方は全角カナです。Excelの内部では、この2つはまったく別の文字として扱われています。人間から見れば似ていますが、Excelにとっては完全に異なるデータなのです。
この考え方は、以前の記事で取り上げた「全角数字が文字扱いになる」という問題と、根っこは同じです。全角と半角は別のデータとして扱われるという点は、数字だけでなく、カナや英字にもそのまま当てはまる、というわけです。

よくあるパターン
研究員として、実務でよく見るのは次の4つのパターンです。
① 半角カナと全角カナ
「カタカナ」と「カタカナ」のように、カナには半角と全角があります。とくに、古いシステムから出力したデータには半角カナが使われていることが多く、手入力の全角カナと混ざりやすいです。
② 半角英数字と全角英数字
「ABC123」と「ABC123」のように、英字や数字にも半角と全角があります。商品コードや型番でこの違いが混ざると、照合に失敗します。
③ 見た目が似ている記号
「-(ハイフン)」「ー(長音)」「―(ダッシュ)」は、見た目はよく似ていますが、すべて別の文字です。電話番号や住所などで、これらが混ざると一致しなくなります。
この記号の違いは、ASC関数やJIS関数でも直しきれないことがあるため、とくに厄介です。半角・全角の変換で対応できるのはカナや英数字が中心で、ハイフンと長音のような「そもそも別の記号」の混在は、置換機能(Ctrl + H)を使って、どれか一つの記号に統一する必要があります。電話番号や郵便番号を扱う表で「なぜか一致しない」というときは、この記号の違いも疑ってみてください。
④ スペースの違い
実はスペースにも、半角スペースと全角スペースがあります。これも一致しない原因になります。空白まわりのトラブルについては、以前の記事でもくわしく取り上げています。空白が原因で一致しないケースもあわせて確認しておくと、照合トラブルへの対応力がぐっと上がります。

なぜ起きるのか
この問題が発生する主な原因は、次の3つです。
① システムごとの仕様の違い
システムAでは半角、システムBでは全角、というように、出力元のシステムによって文字の形式が異なることがあります。複数のシステムからデータを集めて集計する場面で、とくに起こりやすいです。
② コピペによる混在
Web、PDF、社内ツールなどからコピーすると、文字形式がバラバラになることがあります。もとのデータの形式がそのまま持ち込まれるためです。
③ 手入力のバラつき
人によって、半角で入力する人と全角で入力する人がいるため、複数人で入力すると形式が統一されません。
とくに、異なるデータを統合するときに発生しやすいトラブルです。「自分のデータは統一されていたのに、他部署のデータと結合したら一致しなくなった」というのは、よくあるパターンです。
見分けるポイント
文字コードの違いは、目視では分かりにくいですが、次のような違和感が出ます。
① 見た目は同じなのに一致しない/一部だけ検索できない
もっとも典型的なサインです。完全一致で検索しているのに、一部のデータだけヒットしない、というときは、文字コードの違いを疑ってみてください。
② COUNTIFの結果がズレる/並び替えがおかしい
半角と全角が混ざっていると、カウントや並び替えの結果もおかしくなります。半角と全角では、内部的な文字の順番が異なるため、並び順に違和感が出るのです。
③ LEN関数で文字数を確認する
半角カナと全角カナは、見た目の幅が違うだけでなく、扱いも異なります。判断に迷ったときは、LEN関数で文字数を数えたり、実際に2つのセルを =A1=A2 で比較してみたりすると、違いがはっきりします。この式の結果がFALSEになれば、見た目は同じでも中身が違う、という証拠です。
こういうときは、「文字の種類」を疑うのが重要です。
解決方法
一番簡単で効果的なのが、ASC関数とJIS関数です。
=ASC(A2)
または
=JIS(A2)
それぞれの役割は、次の通りです。ASC関数は文字を半角に統一し、JIS関数は文字を全角に統一します。どちらか一方に揃えることで、一致しない問題を解消できます。
たとえば、照合したい2つの表があるとき、両方の列にASC関数をかけて半角に統一すれば、半角カナと全角カナの違いがなくなり、VLOOKUPが正しく一致するようになります。「片方だけ変換しても意味がない」という点に注意してください。比較する両方のデータを、同じ形式に揃えることが大切です。
実務でのおすすめ運用
基本は、どちらか一方に統一します。おすすめは、半角に統一(ASC)する方法です。理由は、データ量が軽くなることと、他システムとの互換性が高いことです。
ただし、注意点もあります。ASC関数で半角に統一すると、全角の漢字やひらがなはそのまま残りますが、全角カナは半角カナに変換されます。半角カナは、環境によっては文字化けの原因になることもあるため、社外に提出する資料などでは、あえて全角に統一(JIS)したほうが無難な場合もあります。提出先や用途に応じて、どちらに揃えるかを判断するとよいでしょう。
まとめて変換する手順
データが多い場合は、次の流れがおすすめです。まず、新しい列にASCまたはJISを入力し、下までコピーします。次に、その列全体をコピーし、「形式を選択して貼り付け」から「値」を選んで貼り付けます。最後に、元データの列を削除すれば、文字コードを一括で統一できます。関数のままだと、元の列を消したときに結果も消えてしまうため、「値として貼り付ける」という一手間が大切です。
なお、スペースの半角・全角も一致しない原因になるため、ASCやJISで文字を統一したあとに、TRIM関数もあわせてかけておくと、より確実です。実務では、=TRIM(ASC(A2)) のように組み合わせて、「半角に統一しつつ、前後の空白も削除する」という処理を一度に行うことも多いです。照合トラブルをまとめて片付けたいときに、覚えておくと便利な書き方です。
研究員メモ
今回のポイントは、とても重要です。それは、見た目は同じでも、中身が違う、というExcel全体に共通する考え方です。
とくに文字データでは、半角と全角、記号の違い、スペースの違いが原因でトラブルになります。①の文字列、②の全角数字、③のスペース、④の単位、⑤のアポストロフィ、⑥の数字と文字の混在、⑦の日付、⑧の先頭の空白、⑨の末尾の空白、⑩の見えない文字、⑪の改行、⑫の形式の不統一、そして今回⑬の文字コードの違い。ここまで13回にわたってお伝えしてきましたが、共通しているのは「見た目ではなく、データの中身に原因がある」という一点です。
初心者のうちは「なぜ一致しないのか分からない」という状態になりがちですが、”文字の種類”を疑う、という視点を持つだけで、解決スピードが一気に上がります。数値の形式がバラバラで集計がズレるケースについては、前回⑫でくわしく取り上げていますので、あわせて確認しておくと、形式まわりのトラブルにより強くなれます。数値の形式が統一されていないケースと、今回の文字コードの違いは、まさに兄弟のような関係にあるトラブルです。

まとめ
今回のテーマは「一致しない理由⑬|文字コード違いで文字になる」でした。ポイントをまとめます。
- チェックポイント:半角と全角が混ざっている/見た目は同じ/一部だけ一致しない
- 原因:半角カナと全角カナ、半角英数と全角英数など、文字コードが違う
- 解決方法:
=ASC(セル)(半角に統一)または=JIS(セル)(全角に統一)
いちばん大切なのは、一致しないときは、文字の種類(半角・全角)を疑う、という視点です。とくに、複数のシステムやファイルを結合したときに一致しない場合は、真っ先に文字コードの違いを確認してみてください。
もし今、半角と全角が混ざったデータがあっても、慌てる必要はありません。ASC関数やJIS関数を使えば、見た目の印象を保ったまま、正しく照合できる状態へと整えることができます。
関数の使い方シリーズや実務トラブル解決シリーズでは、他の関数やトラブルについても実務目線で整理していますので、あわせてご覧ください。次回は、CSVファイルを取り込んだときに数字が文字になってしまう「CSV取り込みで文字になる」ケースを取り上げる予定です。


コメント