いまさら聞けないExcelの使い方講座

【Excel】同じ列で英数字は半角、カタカナは全角に統一したい! 手作業を避ける方法

思い通りにデータを整えよう

直接編集する必要なし! 関数で統一しよう

 同じ内容であるはずなのに、全角文字と半角文字が混在しているデータはよくあります。「表記揺れ」と呼ばれる状況です。見た目が悪いだけでなく、検索や集計がうまくいかないこともあります。内部的には別の文字列として扱われるため、XLOOKUP関数やCOUNTIFS関数で一致しない、といったトラブルにもつながります。

半角文字と全角文字が混在している例

 このような場合は、セルを直接修正するのではなく、半角文字に統一する「ASC」や全角文字に統一する「JIS」を使いましょう。今回は実務でありがちな例として、英数字は半角、カタカナは全角に統一するテクニックを紹介します。

ASC関数で半角に統一する

 実務では、英数字を半角文字に統一することが多いでしょう。ASC関数を利用します。スピルに対応しているため、引数[文字列]には半角文字に変換したいセル範囲を指定するだけで結果が表示されます。なお、JIS関数もASC関数と構文は同じで、全角文字に変換したい場合に利用します。

 ASC関数でいったん半角文字に統一することで、英数字や記号の幅を揃えたうえで、カタカナだけを整えるという処理の分離が可能になります。

ASC関数の構文。引数[文字列]にセル範囲を指定します
セルC2に「=ASC(B2:B21)」と入力します(①)
指定したセル範囲の文字列がすべて半角に統一されました(②)

 続けて、カタカナのみ全角文字に戻します。ASC関数の結果をコピーして[値]として貼り付け、PHONETIC関数を利用します。

PHONETIC関数の構文。引数[参照]にフリガナを取り出したいセルを指定します。セル、またはセル範囲を指定します。セル範囲を指定した場合は、範囲内のフリガナが連結されて取り出されます

 ただし、PHONETIC関数で正しくフリガナを取得できないこともあります。ほかのアプリからコピーした文字列や、CSVファイルから読み込んだデータなど、セルにフリガナの情報が含まれていない場合は、セルに入力されている文字列がそのまま返されます。以前に紹介した「setphonetic」メソッドを使ったテクニックなどを活用してください。

ASC関数の結果が表示されているセル範囲をコピーします(③)
貼り付け先(ここでは同一セル)を右クリックして(④)、[値](⑤)を選択します
数式バーを確認すると[値]として貼り付けられたことがわかります(⑥)
セルD2に「=PHONETIC(C2)」と入力します(⑦)。PHONETIC関数はスピルに対応していません
数式を下方向へコピーすると、カタカナのみ全角文字になります

 PHONETIC関数の結果を確定させたい場合は、[値]として貼り付けておきましょう。元データを書き換える前に別の列で確認するのが安全です。

カッコを変換したい場合は?

 記号に分類される「(」や「)」は、ASC関数によって半角文字に変換されます。「(」「)」を全角文字に変換する関数は用意されていないため、検索・置換する方法が簡単です。

PHONETIC関数から参照するセル範囲を選択して、[Ctrl]+[H]キーを押します。[検索する文字列]と[置換後の文字列]を指定して[すべて置換]をクリックします

 全角文字と半角文字の統一は地味な作業ですが、検索や集計の精度を左右する重要な前処理です。データ分析を始める前に、まず文字列を整える習慣を付けておきましょう。