PR

 ExcelにはTRIMというワークシート関数があります。基本的に余分なスペースを削除する文字列操作関数です。文字列の左右にあるスペースを削除して、文字と文字の間にある複数のスペースは1個を残してほかを削除します。でもその機能では困ることもあります。

 図1のB列は、「受付」「営業部」などの文字列の間にスペースを挿入して、文字の長さをそろえてあります。官公庁が公開しているExcelのファイルや文書でよく見かける形式です。

図1 文字数の異なる部署名にスペースを挿入して左右の幅を揃えている。ところが「社長室」と「取締役室」は左右に余分なスペースが付いていてうまくそろわない
[画像のクリックで拡大表示]

 英数字やカナは全角と半角を使い分けて、それこそ血のにじむような努力をして文字の長さをそろえているのではないかと想像しています。

 ところがWebページからコピーしたり、異なるコンピューターからの出力結果などを寄せ集めると、文字の前後に余分なスペースが入って、血のにじんだ努力が報われない場合があります。図1のB列は文字の長さをそろえた上でセンタリングしているのですが、「社長室」と「取締役室」は少しずれています。これは文字列の左右に余分なスペースが入っているためです。

 もちろんこの程度なら手作業でスペースを削除できます。しかしデータ量が増えてくると手作業では追いつきません。Excelの機能を活用しましょう。

 まずは単純にExcelが標準で備えているTRIM関数を使ってみました。図1のE列です。文字列の左右にあるスペースだけ削除して、文字と文字の間のスペースは残したいのですが、TRIM関数は文字間のスペースを1個に減らしてしまいます。これでは当初の目的は達成できません。