Excelの全角を半角に一括変換!カタカナを残す時短術【2026】
Excelの全角を半角に一括変換!カタカナを残す時短術【2026】の注目ポイントを分かりやすくまとめてご紹介します。
「カタカナを全角のまま維持しつつ、英数字や記号のみを半角化したい」という要望は、長年Excelユーザーの切実な願いでした。ASC関数の盲点を克服し、カタカナを除外して半角変換を実現する2026年現在の決定打となる3つのアプローチを解説します。
アプローチ1:関数を使わない「フラッシュフィル」の活用手順
Excel 2013以降に実装され、AI的な推論アルゴリズムで進化を続けているのが「フラッシュフィル」です。数式を一切使用せず、ユーザーが提示した「入力例(規則性)」をExcel側が瞬時に学習し、後続のセルを自動補完します。
フラッシュフィルの活用手順は至ってシンプルです。元データがA列(A2以降)にある場合、隣のB列(B2セル)に、希望する変換後の文字列を手動で1行だけ入力します。例えば、A2が「サトウビル301号室」であれば、B2に「サトウビル301号室」と打ち込み、Enterキーを押します。続けてB3セルを選択した状態で、ショートカットキー[Ctrl]+[E](Mac版はリボン上のデータタブからフラッシュフィルを選択)を押すだけです。Excelが「カタカナはそのまま残し、全角数字の一括変換のみを行いたい」という規則性を認識し、全行へ一瞬で反映させます。
アプローチ2:パワークエリでのデータクレンジングによる自動化
月次や週次で定期的に外部システムからCSVをエクスポートし、反復して名寄せや表記揺れを正す業務には、パワークエリでのデータクレンジングが最適な解となります。Excelの「データ」タブから「テーブルまたは範囲から」を選択してPower Queryエディターを起動します。
パワークエリ内蔵のM言語には、テキストの文字コード種別ごとに細かく制御する関数が備わっています。カスタム列を追加し、テキストの特定文字コード(全角の0〜9、A〜Z)のみを半角文字へ置換するステップを一度定義しておけば、次回以降は「更新」ボタンを1クリックするだけで、何万行ものデータからカタカナを完全保護したクレンジング処理が自動実行されます。
アプローチ3:VBAマクロによる一括変換と正規表現の威力
社内マクロが許可されている環境下で、膨大なセル範囲を高速に一括処理したい場合は、VBAマクロによる一括変換が威力を発揮します。VBA標準のStrConv関数も第2引数にvbNarrowを指定するとカタカナまで半角化されてしまうため、VBScriptの正規表現(RegExp)ライブラリを併用するのが現場のプロの定石です。
正規表現パターンに[0-9a-zA-Z]を指定し、合致した全角英数のみを文字コード計算(ChrW(AscW(c) - &H65248)など)によって半角へシフトさせるコードを組むことで、セル内の文脈やカタカナの濁点・半濁点を一切破壊することなく、目的の文字種のみをピンポイントで変換できます。