【Excel初心者がよくハマる】一致しない理由⑬|「文字コード違いで文字になる」ときの見分け方と直し方

初心者シリーズ

「まったく同じ文字に見えるのに、なぜか一致しない」——このシリーズも、今回で13回目になります。

私自身、Excelを使い始めたばかりの頃は、VLOOKUPで検索してもヒットしなかったり、一部のデータだけ結果がおかしかったりと、原因の分からないトラブルに何度も悩まされてきました。初心者のころは「関数の設定ミスだ」と思い込んで、何度も式を見直していましたが、実際には、関数ではなく”文字の中身”が違うというケースが非常に多かったのです。

以前、2つの部署の顧客リストを1つにまとめて照合しようとしたとき、片方のリストのカナ表記がすべて半角、もう片方が全角になっていて、名前がほとんど一致しなかったことがあります。画面上ではどちらも同じ「アップル商店」のように見えるのに、VLOOKUPはことごとく#N/Aを返してくる。原因が「半角カナと全角カナの違い」だと分かったときには、あまりに見た目が同じすぎて、思わず二度見してしまいました。

これまで①〜⑫では、文字列・空白・改行・形式の不統一など、さまざまな「見えない違い」を研究してきました。今回のテーマは「文字コード違いで文字になる」ケースです。少し専門的な言葉ですが、現場ではかなり頻繁に発生するトラブルです。そして厄介なのが、見た目ではほぼ判別できないという点です。では、一緒に研究していきましょう。

よくある状況

まずはよくある例を見てみます。次のような商品名のデータがあるとします。

商品名の表記の違い

見た目としては、ほぼ同じに見えます。この状態で、別の表と照合するためにVLOOKUP関数を使います。

=VLOOKUP(A2, 範囲, 列番号, FALSE)

すると、一致しない、という現象が起きます。

「同じ”アップル”なのに、なぜ?」——ここで疑うべきなのが、今回のポイントです。

原因:文字コードが違う

先ほどの2つの「アップル」の違いを整理してみます。

表記と実態の表

同じ「アップル」でも、片方は半角カナ、もう片方は全角カナです。Excelの内部では、この2つはまったく別の文字として扱われています。人間から見れば似ていますが、Excelにとっては完全に異なるデータなのです。

この考え方は、以前の記事で取り上げた「全角数字が文字扱いになる」という問題と、根っこは同じです。全角と半角は別のデータとして扱われるという点は、数字だけでなく、カナや英字にもそのまま当てはまる、というわけです。

【Excel初心者がよくハマる】SUM関数が計算されない原因②|「全角数字が混ざっている」ときの見分け方と直し方
ExcelでSUM関数が計算されない原因の一つが「全角数字」です。見た目は同じでも半角と全角はExcelでは別のデータとして扱われることがあります。見分け方とASC関数などを使った解決方法をわかりやすく解説します。

よくあるパターン

研究員として、実務でよく見るのは次の4つのパターンです。

① 半角カナと全角カナ

「カタカナ」と「カタカナ」のように、カナには半角と全角があります。とくに、古いシステムから出力したデータには半角カナが使われていることが多く、手入力の全角カナと混ざりやすいです。

② 半角英数字と全角英数字

「ABC123」と「ABC123」のように、英字や数字にも半角と全角があります。商品コードや型番でこの違いが混ざると、照合に失敗します。

③ 見た目が似ている記号

「-(ハイフン)」「ー(長音)」「―(ダッシュ)」は、見た目はよく似ていますが、すべて別の文字です。電話番号や住所などで、これらが混ざると一致しなくなります。

この記号の違いは、ASC関数やJIS関数でも直しきれないことがあるため、とくに厄介です。半角・全角の変換で対応できるのはカナや英数字が中心で、ハイフンと長音のような「そもそも別の記号」の混在は、置換機能(Ctrl + H)を使って、どれか一つの記号に統一する必要があります。電話番号や郵便番号を扱う表で「なぜか一致しない」というときは、この記号の違いも疑ってみてください。

④ スペースの違い

実はスペースにも、半角スペースと全角スペースがあります。これも一致しない原因になります。空白まわりのトラブルについては、以前の記事でもくわしく取り上げています。空白が原因で一致しないケースもあわせて確認しておくと、照合トラブルへの対応力がぐっと上がります。

【Excel初心者がよくハマる】関数がうまく動かない理由⑧|「先頭に空白がある」ときの見分け方と直し方
ExcelでVLOOKUPやCOUNTIFが一致しない原因は「先頭の空白」かもしれません。見えないスペースの見分け方と、TRIM関数を使った一括削除の解決方法を初心者向けにわかりやすく解説します。

なぜ起きるのか

この問題が発生する主な原因は、次の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回にわたってお伝えしてきましたが、共通しているのは「見た目ではなく、データの中身に原因がある」という一点です。

初心者のうちは「なぜ一致しないのか分からない」という状態になりがちですが、”文字の種類”を疑う、という視点を持つだけで、解決スピードが一気に上がります。数値の形式がバラバラで集計がズレるケースについては、前回⑫でくわしく取り上げていますので、あわせて確認しておくと、形式まわりのトラブルにより強くなれます。数値の形式が統一されていないケースと、今回の文字コードの違いは、まさに兄弟のような関係にあるトラブルです。

【Excel初心者がよくハマる】計算や集計がズレる理由⑫|「数値の形式が統一されていない」ときの見分け方と直し方
ExcelでCOUNTIFやSUMの結果が合わない原因は、数値の形式の違いかもしれません。全角・半角や数値と文字の混在の見分け方と、VALUE関数やダブルマイナスを使った解決方法を初心者向けにわかりやすく解説します。

まとめ

今回のテーマは「一致しない理由⑬|文字コード違いで文字になる」でした。ポイントをまとめます。

  • チェックポイント:半角と全角が混ざっている/見た目は同じ/一部だけ一致しない
  • 原因:半角カナと全角カナ、半角英数と全角英数など、文字コードが違う
  • 解決方法:=ASC(セル)(半角に統一)または =JIS(セル)(全角に統一)

いちばん大切なのは、一致しないときは、文字の種類(半角・全角)を疑う、という視点です。とくに、複数のシステムやファイルを結合したときに一致しない場合は、真っ先に文字コードの違いを確認してみてください。

もし今、半角と全角が混ざったデータがあっても、慌てる必要はありません。ASC関数やJIS関数を使えば、見た目の印象を保ったまま、正しく照合できる状態へと整えることができます。

関数の使い方シリーズや実務トラブル解決シリーズでは、他の関数やトラブルについても実務目線で整理していますので、あわせてご覧ください。次回は、CSVファイルを取り込んだときに数字が文字になってしまう「CSV取り込みで文字になる」ケースを取り上げる予定です。

コメント

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