【Excel初心者がよくハマる】関数がうまく動かない理由⑧|「先頭に空白がある」ときの見分け方と直し方

初心者シリーズ

「同じデータを入力しているはずなのに、なぜか一致しない」——このシリーズも、今回で8回目になります。

私自身、Excelを使い始めたばかりの頃は、VLOOKUPで検索しているのにヒットしなかったり、同じ文字のはずなのに一致しなかったりと、原因の分からないトラブルに何度も悩まされてきました。ですが、Excelを研究していく中で気づいたのは、トラブルの多くは関数ではなく「データの中身」に原因があるということです。

以前、取引先から届いた商品リストと、自社のマスタをVLOOKUPで突き合わせようとしたとき、いくつかの商品だけがどうしても一致せず、原因を探すのに苦労したことがあります。画面上ではまったく同じ商品名に見えるのに、一部だけ#N/Aになる。何度も見比べて、ようやく気づいたのが、その商品名の先頭に入っていた、たった1つの空白でした。目には見えないだけに、原因にたどり着くまで、ずいぶん遠回りをしてしまいました。

これまで①〜⑦では、数字や日付が文字列になっているケースを中心に研究してきました。今回のテーマは「先頭に空白がある」ケースです。これは非常に見つけにくく、初心者がとくにつまずきやすいポイントです。なぜなら、見た目ではほぼ分からないからです。この「見えない空白」が原因で、関数がうまく動かなくなることがあります。では、一緒に研究していきましょう。

よくある状況

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

商品名の表

ここで、別の表と照合するためにVLOOKUP関数を使います。

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

通常であれば、「りんご」は一致して、正しく値が返ってきます。しかし実際には、一致しない、#N/Aエラーになる、検索できない、といった問題が起きることがあります。

「同じ”りんご”なのに、なぜ?」——その原因が、今回のテーマです。

原因:見えない空白が入っている

見た目では「りんご」と表示されていても、実際のデータは「(空白)りんご」と、先頭にスペースが入った状態になっていることがあります。

Excelはこの違いを、非常に厳密に判断します。

商品名の見た目と実際のデータ

人間の目には同じ「りんご」に見えても、Excelにとってはまったく別のデータです。そのため、VLOOKUPで一致しない、COUNTIFで数えられない、IF関数で判定できない、といった問題が起きます。

原因の根っこは、①〜⑦で取り上げてきた「見た目は同じでも、中身が違う」というトラブルとまったく同じです。数字が文字列になっているのと同じように、文字の先頭に空白が付いているだけで、Excelはそれを別のデータとして扱ってしまうのです。

なぜこのミスが起きるのか

研究員としてよく見る原因は、主に次の3つです。

① コピペしたデータ

他のシステムやWebサイトからデータをコピーした場合、余計な空白が含まれていることがあります。とくに、CSVやシステムから出力したデータは要注意です。桁や見た目を揃えるために、先頭に空白を入れて出力する仕様のシステムもあり、それがそのままコピーされてしまうのです。

コピー時には、空白だけでなく、目に見えない特殊な文字が紛れ込むこともあります。コピー時に見えない文字が混入するケースについては、以前の記事でCLEAN関数を使った対処法を詳しく取り上げていますので、TRIM関数を使っても直らないときは、あわせて確認してみてください。

【Excel初心者がよくハマる】関数がうまく動かない理由⑩|「コピー時に文字が混入する」ときの見分け方と直し方
ExcelでVLOOKUPや検索が一致しない原因は、コピー時に混入する見えない文字かもしれません。改行コードや制御文字の見分け方と、TRIM関数・CLEAN関数を組み合わせた解決方法を初心者向けにわかりやすく解説します。

② 手入力でスペースを入れてしまう

入力作業のとき、無意識にスペースキーを押してしまい、先頭に空白が入ってしまうことがあります。とくに、急いで入力しているときや、変換の操作に慣れていないときに起こりやすいミスです。自分ではまったく意識していないため、後から見返しても原因に気づきにくいのが厄介なところです。

③ 見た目を揃えるためにスペースを入れる

表をきれいに見せようとして、文字の位置をスペースで調整してしまうケースです。人間の目には整って見えるのですが、Excelにとっては「空白+文字」という別のデータになってしまうため、これはNGな操作です。見た目を揃えたい場合は、スペースではなく、セルの配置(インデントや中央揃え)で調整するのが正解です。

見分けるポイント

先頭の空白は見えませんが、次のような違和感がヒントになります。

① VLOOKUPで一致しない

もっとも多いパターンです。完全一致(FALSE)で検索しているのに見つからない場合は、先頭の空白を疑ってみてください。

② COUNTIFで数えられない

同じデータのはずなのにカウントされない、という場合も、空白が原因の可能性があります。「1件あるはずなのに0と表示される」ようなときは、要注意です。

③ 並び替えの順番が変

空白があると、並び順に違和感が出ることがあります。空白は文字コードの上では「文字よりも前」に来るため、空白付きのデータだけが、リストの先頭に固まってしまう、といった現象が起きます。

④ LEN関数で文字数を数える

確実に判断したい場合は、LEN関数で文字数を数える方法があります。

=LEN(A2)

「りんご」は本来3文字ですが、先頭に空白が1つ入っていると4文字と表示されます。想定より文字数が多い場合は、空白などの余計な文字が紛れ込んでいる、と判断できます。どこに空白があるか目視では分からないときに、とても役立つ方法です。

解決方法

もっとも簡単で強力な方法は、TRIM関数を使うことです。

=TRIM(A2)

TRIM関数は、余計な空白を削除する関数です。具体的には、先頭の空白、末尾の空白、単語間の余分なスペースを、自動でまとめて削除してくれます。

使用例

「(空白)りんご」というデータにTRIM関数を使うと、「りんご」に整えられます。これだけで、VLOOKUPやCOUNTIFなどの関数が、正しく動くようになります。

まとめて修正する方法

データが大量にある場合は、次の手順で一括修正できます。

まず、別の列にTRIM関数を入力し、それを下までコピーします。次に、TRIMの結果が入った列全体をコピーし、「形式を選択して貼り付け」から「値」を選んで、元の位置(または新しい列)に貼り付けます。こうすることで、関数の結果を「ただの文字データ」として確定でき、元の空白付きデータを置き換えることができます。関数のままだと、元の列を消したときに結果も消えてしまうため、最後に「値として貼り付ける」という一手間が大切です。

TRIMで消えない空白もある

TRIM関数を使っても、なぜか空白が消えない、というケースもあります。これは、通常の半角スペースではなく、全角スペースや、特殊な空白文字(Webページ由来のものなど)が入っている場合に起こります。この場合は、CLEAN関数を組み合わせたり、置換機能で全角スペースを直接削除したりする必要があります。「TRIMで消えない空白」に出会ったら、通常の半角スペース以外の可能性を疑ってみてください。

そもそも空白を入れないための予防策

トラブルが起きてから直すのも大切ですが、そもそも空白が混ざらないように予防できれば、余計な手間を減らせます。実務で使える予防策をいくつか紹介します。

一つ目は、外部からデータをコピーするときに、そのまま貼り付けるのではなく、いったんメモ帳などのテキストエディタに貼り付けてから、あらためてExcelにコピーし直す方法です。これで、書式や特殊な空白が持ち込まれにくくなります。二つ目は、貼り付けた直後に、対象範囲へ一括でTRIM関数を通してから値として貼り直す、という手順を習慣にしておくことです。外部からデータを取り込む機会が多い方ほど、この一手間が効いてきます。

三つ目として、そもそも人が手入力する列については、入力ルールを共有しておくことも大切です。「前後にスペースを入れない」「見た目を揃えたいときはスペースではなくセルの配置機能を使う」といったルールを、複数人で作業する場合はあらかじめ決めておくと、後から空白の除去に追われることが少なくなります。

Excelで重要な考え方:見えない違いも区別される

Excelを使う上で、とても重要なポイントがあります。それは、見えない違いも区別される、ということです。

人間にとっては「同じ文字」に見えても、Excelにとっては、完全に一致していなければ別物です。「りんご」と「(空白)りんご」は、Excelの中ではまったく別のデータとして扱われます。たった1つの空白でも、Excelにとっては明確な違いなのです。

この考え方を理解すると、Excelのトラブルの多くが解決できるようになります。「同じはずなのに一致しない」というときは、目に見えている文字そのものだけでなく、その前後に見えない何かが付いていないか、と考える習慣を持っておくとよいでしょう。

研究員メモ

Excelのトラブル対応で一番大切なのは、違和感に気づくことです。一致しない、計算できない、結果がおかしい。こうしたときは、関数を疑うのではなく、データの中身を疑う。これがとても重要です。

①の文字列、②の全角数字、③のスペース、④の単位、⑤のアポストロフィ、⑥の数字と文字の混在、⑦の日付、そして今回⑧の先頭の空白。ここまで8回にわたってお伝えしてきましたが、共通しているのは「見た目ではなく、データの中身に原因がある」という一点です。空白が原因のケースは、その中でもとくに多く、そして一度気づけるようになると、すぐに見抜けるようになります。

なお、空白は先頭だけでなく、末尾に入っていることもあります。末尾の空白も、先頭の空白とまったく同じように、関数の一致を妨げます。末尾に空白があるケースについても、あわせて確認しておくと、空白まわりのトラブルにより強くなれます。

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

まとめ

今回のテーマは「関数がうまく動かない理由⑧|先頭に空白がある」でした。ポイントをまとめます。

  • チェックポイント:VLOOKUPで一致しない/COUNTIFで数えられない/並び順がおかしい
  • 原因:先頭に空白が入っている
  • 解決方法:=TRIM(セル) で余計な空白を削除する

いちばん大切なのは、違和感があったら空白を疑う、という視点です。「同じはずなのに一致しない」と感じたら、まずはTRIM関数を試してみてください。この一手が、原因究明の時間を大きく短縮してくれます。

もし今、先頭に空白が入ったデータがあっても、慌てる必要はありません。TRIM関数を使えば、見た目はそのままに、関数がきちんと動くデータへと整えることができます。

関数の使い方シリーズや実務トラブル解決シリーズでは、他の関数やトラブルについても実務目線で整理していますので、あわせてご覧ください。次回は、先頭の空白と対をなす「末尾に空白がある」ケースを取り上げる予定です。

コメント

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