★広告あり★
プライベート

【エクセル】セル内でスペース以降の文字列を削除する方法

セル内のスペース以降を削除したい
セル内の特定の文字列以降を削除したい

そんな問題を解決できる数式があります。

 

私自身も外部サイトを参考にしながら問題解決に至ったので

その過程をご紹介したいと思います。

スポンサーリンク

セル内のスペース以降を削除する数式・方法

下図、A列それぞれのセルを果物の名前だけにして、B列に表示します。

 

使う数式は↓

=LEFT(A1, FIND(” “, A1)-1)

○○以降を削除する・○○より前だけ取得する−FIND関数・LEFT関数』より引用。

 

「”」←ダブルクォーテーション

数式内に2つのダブルクォーテーションがありますが、その間にスペースや特定の文字列を入れるのを忘れずに!

また、半角スペース・全角スペースの違いもありますので注意!

 

細かい説明などが知りたい場合は、上記リンク先へどうぞ。

 

さて、実際にやってみましょう。

B1セルに先ほどの数式を入力しすれば解決です。

果物名と店名の間は全角スペース⇒ダブルクォーテーション2つの間は全角スペースです

 

あとはオートフィル機能を使って下まで引っ張るだけ。

できました。

応用編:セル内の特定の文字列やスペースを削除する

下図は、とあるスポーツジムのコース名などが載っています。

ここでは「〇〇会員」という文字列のみに絞り込み、「/週〇回」や「月会費」などの文字を削除します。

先ほどの数式を使ってB列に表示させてみると・・・

 

「年会費」「月会費」のワードが削除され、ある程度スッキリしましたが

できれば「/週〇回」というのも消したいところです。

 

もう一度、次はC列で「=LEFT(B1, FIND(“/”, B1)-1)」
(⇒「/」以降の文字列を削除する)

と数式を入れれば解決するでしょうか?

 

ですが、そうすると「/」が入っていない「オール会員」や「ナイト会員」はエラーで返されてしまいます。

エラーで返されてしまった

 

そこで、こんな数式を考えました。

=IF(COUNTIF(B1,”*/*”),LEFT(B1,FIND(“/”,B1)-1),B1)

IF関数とCOUNTIF関数をプラス。

 

「もし、B1セルに『/』の値が入っていたら、『/』以降の値を削除する。
『/』が存在しなければB1セルの値を返す」

という意味になります。

 

エラーではなくなりました。

 

オートフィルで下まで引っ張ると、きれいに「〇〇会員」の部分だけ拾うことに成功。

 

もっと効率的な数式があるのかもしれませんが…

ひとまずスペースや特手の文字列以降の値を削除することができました。

もっと効率的な方法があれば教えてください!

お気軽にコメントどうぞ コメント欄がないとき⇒下にスクロール

スポンサーリンク
タイトルとURLをコピーしました