• 締切済み

【エクセル】セル内の右側のみ半角スペース削除

セル内にある半角スペースのうち、右側にあって、文字に囲まれていないものを一括削除する方法をさがしています。 例)※␣と?は半角スペース。?のみを削除する。       列A 行1 test01??? 行2 test02␣01???? 行3 ␣test03␣114? 宜しくお願いします。

みんなの回答

回答No.10

With Range("A1", Range("A65536").End(xlUp)) .Value = Application.Trim(.Value) End With または、 =TRIM(A1)

回答No.9

何度も投稿すみません =LEFT(A1,FIND(REPT(" ",99),A1&REPT(" ",99))-1) で良かったです。 最初や途中に99文字分の半角スペースがないことが条件です

回答No.8

スペースがなかった場合を検証してなかった ちょっとの違いだけど =LEFT(A1&" ",FIND(REPT(" ",99),A1&REPT(" ",99))-1)

回答No.7

keithinさんの考えにはただただ感服するばかりです おかげで =LEFT(A1&" ",FIND(REPT(" ",99),A1&REPT(" ",98))-1) に至りました

回答No.6

言葉通りを数式にして =LEFT(A1,LEN(A1)+1-MIN(IF(MID(A1,LEN(A1)+1 -COLUMN(A1:INDEX(1:1,LEN(A1))),1)<>" ",COLUMN(A1:INDEX(1:1,LEN(A1)))))) [Ctrl]+[Shft] +[Enter] で確定、配列数式。{ }で挟まれる

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.5

>右端(行末)のスペースを削除 割と安直な数式で =LEFT(A1,MAX((MID(A1&REPT(" ",99),ROW($A$1:$A$99),1)<>" ")*ROW($A$1:$A$99))) と記入し,必ずコントロールキーとシフトキーを押しながらEnterで入力。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>例)※␣と?は半角スペース。?のみを削除する。 削除したい文字が特定している場合は次の関数式で削除できます。 但し、文字列の途中に有る文字も削除されます。 =SUBSTITUTE(A1,"?","")

  • kybo
  • ベストアンサー率53% (349/647)
回答No.3

数式にこだわる場合こんな感じでどうだろうか。 =REPT(" ",FIND(TRIM(A1),A1)-1)&TRIM(A1)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

間違えました。右側でしたね。VBAなら簡単にできます。 Sub macro() Dim C As Range For Each C In Range("A1:A3") C.Value = RTrim(C.Value) Next C End Sub

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

A1のセルにデータがあるとして =RIGHT(A1,LEN(A1)-FIND(TRIM(A1),A1)+1)

関連するQ&A