いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Excel)文字列の先頭の空白だけ削除する

 Excelで、文字列の先頭にあるスペース(全角半角は混在可)だけを削除する方法についてです。ワークシート関数にはLTRIM関数のようなものがありませんので、ここでは別の関数を代用してみます。

  • FIND関数やTRIM関数などを組み合わせて、文字列の先頭に並ぶスペースだけを削除することができます。

手順

 画像のB3:B5の文字列の随所にスペースが含まれています。また、B3とB4の文字列の先頭には複数のスペースが並んでいて、さらに全角スペースと半角スペースが混在しています。
 C3セルに次の式を入力して下方にコピーすることで、文字列の先頭にあるスペースだけを削除し、その他のスペースだけはそのまま残しています。B5の文字列は最初から先頭にスペースがありませんので、削除後も変化はありません。


 C3セル

=MID(B3,FIND(LEFT(TRIM(B3)),B3),LEN(B3))

 FIND関数など基本的な関数のみを用いていますので、古いバージョンのExcelでも利用できる式です。
 「LEFT(TRIM(B3))」の部分で、文字列中の「スペースでない最初の文字」を抽出しています。
 さらにFIND関数を使うことで、その文字が文字列の何文字目に(初めて)現れるのかを取得しています。
 その位置がわかればあとはそこから後を取り出すだけですので、最後にMID関数を用いて抽出しています。第3引数は文字列長以上の大きい数であれば問題ないので「10^5」などとしても結果は同じです。


 なお、「末尾の空白だけを削除する」「先頭と末尾の空白だけを削除する」という例については次の記事で紹介しています。

www.officeisyours.com

www.officeisyours.com