教えて!gooグレードポイントがdポイントに!

セル内にある半角スペースのうち、右側にあって、文字に囲まれていないものを一括削除する方法をさがしています。

例)※␣と?は半角スペース。?のみを削除する。

      列A
行1 test01???
行2 test02␣01????
行3 ␣test03␣114?

宜しくお願いします。

教えて!goo グレード

A 回答 (10件)

With Range("A1", Range("A65536").End(xlUp))


.Value = Application.Trim(.Value)
End With

または、
=TRIM(A1)
    • good
    • 0

何度も投稿すみません


=LEFT(A1,FIND(REPT(" ",99),A1&REPT(" ",99))-1)
で良かったです。
最初や途中に99文字分の半角スペースがないことが条件です
    • good
    • 3

スペースがなかった場合を検証してなかった


ちょっとの違いだけど
=LEFT(A1&" ",FIND(REPT(" ",99),A1&REPT(" ",99))-1)
    • good
    • 3

keithinさんの考えにはただただ感服するばかりです


おかげで
=LEFT(A1&" ",FIND(REPT(" ",99),A1&REPT(" ",98))-1)
に至りました
    • good
    • 0

言葉通りを数式にして


=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] で確定、配列数式。{ }で挟まれる
    • good
    • 0

>右端(行末)のスペースを削除



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

>例)※␣と?は半角スペース。

?のみを削除する。
削除したい文字が特定している場合は次の関数式で削除できます。
但し、文字列の途中に有る文字も削除されます。

=SUBSTITUTE(A1,"?","")
「【エクセル】セル内の右側のみ半角スペース」の回答画像4
    • good
    • 0

数式にこだわる場合こんな感じでどうだろうか。



=REPT(" ",FIND(TRIM(A1),A1)-1)&TRIM(A1)
    • good
    • 1

間違えました。

右側でしたね。VBAなら簡単にできます。

Sub macro()
Dim C As Range
For Each C In Range("A1:A3")
C.Value = RTrim(C.Value)
Next C
End Sub
    • good
    • 0

A1のセルにデータがあるとして



=RIGHT(A1,LEN(A1)-FIND(TRIM(A1),A1)+1)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング