- 締切済み
【エクセル】セル内の右側のみ半角スペース削除
セル内にある半角スペースのうち、右側にあって、文字に囲まれていないものを一括削除する方法をさがしています。 例)※␣と?は半角スペース。?のみを削除する。 列A 行1 test01??? 行2 test02␣01???? 行3 ␣test03␣114? 宜しくお願いします。
- みんなの回答 (10)
- 専門家の回答
みんなの回答
- satoron666
- ベストアンサー率28% (171/600)
With Range("A1", Range("A65536").End(xlUp)) .Value = Application.Trim(.Value) End With または、 =TRIM(A1)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
何度も投稿すみません =LEFT(A1,FIND(REPT(" ",99),A1&REPT(" ",99))-1) で良かったです。 最初や途中に99文字分の半角スペースがないことが条件です
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
スペースがなかった場合を検証してなかった ちょっとの違いだけど =LEFT(A1&" ",FIND(REPT(" ",99),A1&REPT(" ",99))-1)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
keithinさんの考えにはただただ感服するばかりです おかげで =LEFT(A1&" ",FIND(REPT(" ",99),A1&REPT(" ",98))-1) に至りました
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
言葉通りを数式にして =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)
>右端(行末)のスペースを削除 割と安直な数式で =LEFT(A1,MAX((MID(A1&REPT(" ",99),ROW($A$1:$A$99),1)<>" ")*ROW($A$1:$A$99))) と記入し,必ずコントロールキーとシフトキーを押しながらEnterで入力。
- bunjii
- ベストアンサー率43% (3589/8249)
- kybo
- ベストアンサー率53% (349/647)
数式にこだわる場合こんな感じでどうだろうか。 =REPT(" ",FIND(TRIM(A1),A1)-1)&TRIM(A1)
- kybo
- ベストアンサー率53% (349/647)
間違えました。右側でしたね。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)
A1のセルにデータがあるとして =RIGHT(A1,LEN(A1)-FIND(TRIM(A1),A1)+1)