ハマっている「お菓子」を教えて!

Excel2007を使用しています。

意図せずに、セルの文字列の後ろにスペースが入っている事があります。

大量のセルがある為、簡単な操作にてシート単位または列の単位にて、スペースをまとめて削除をしたいと考えています。

この操作の方法を教えてください。

A 回答 (5件)

既出のご回答のとおり、全体的に綺麗にするには、TRIM 関数を使います。

位置や個数に関らず全てのスペースを削除するには、置換(Ctrl+H)が簡単です。

文字列の右端にあるスペースを 1 つだけ削除したい場合は、次式で可能です。スペースでない文字は、削りません。幾つも右端にスペースが連なっている場合は、次式での処理を何回か繰り返せば、そのうちに全て削除されます。なお「" "," "」という部分は、全角と半角のスペースという意味です。

=left(a1,len(a1)-or(right(a1)={" "," "}))

No.2 さんも言及されていますが、文字列の最後に改行の文字列が付いている場合、右端はスペースではないと判断されてしまうので、注意してください。改行の文字列を削除するには、CLEAN 関数を使うか、または置換ダイアログにおける Ctrl+J のキー操作により除去します。

● =clean(a1)
または
●置換ダイアログの「検索する文字列」にカーソルを置いて Ctrl+J のキーを 1 回だけ押す。このとき見かけ上は何の変化もないが、目に見えない何かが入力されているので、気にしない。「置換後の文字列」には何も入力しないまま、「すべて置換」または「置換」ボタンにより実行すると、改行が除去される。
    • good
    • 7

同じような質問がありましたのでリンクしておきます。




http://questionbox.jp.msn.com/qa8462353.html

この程度のマクロなら簡単に作れるので、あれこれ悩まずにVBAで終わらすのが簡単です。

Sub macro()
Dim C As Range
For Each C In Selection.SpecialCells(xlCellTypeConstants)
C.Value = RTrim(C.Value)
Next C
End Sub
    • good
    • 10

右側の半角スペースを除く


=LEFT(A1,FIND(REPT(" ",99),A1&REPT(" ",99))-1)
右へ下へオートフィル
コピー (そのまま)値の貼り付け
    • good
    • 16

>意図せずに、セルの文字列の後ろにスペースが入っている事があります。



本当にこの文字が「スペース」で文章の間にあるスペース以外を除きたいならTRIM関数を使って前後のスペースを削除し、この数式で表示されたデータをコピーして、そのまま右クリック「形式を選択して貼り付け」で「値」にします。

=TRIM(A1)

#Webページなどからコピー貼り付けしたような場合は、実際はスペースではなく、目に見えない文字コードが入力されている場合もありますので、このケースでは別の対応が必要となります。
    • good
    • 5

私がよく使うのは、Excelの置換機能を使って


 置換対象文字:「 」(スペース)
 置換後の文字:「」(何もなし)
にして全置換を行うと、全てのスペースが消えます。

ただし、この方法は無条件に全てのスペースを消してしまいますので、
文字列の中に消したくないスペースがある場合は一工夫必要になります。
あと、スーペースにも全角スペースと半角スペースがありますので、
その区別も必要です。
    • good
    • 2

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

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


おすすめ情報