• ベストアンサー

エクセルで末尾の空白を消したい

文字列「AB CD  」という感じで文字間と末尾に空白が入っています。 これを文字列「AB CD」という風に末尾の空白だけを消したいのですが何か良い方法は無いでしょうか? 文字長は「ABC  DEF   」や「A BC 」などはマチマチです。 皆さんどうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.1

A1セルに「AB CD 」と入っていたら。 B1セルに「=TRIM(A1)」で、出来ます。

goropiyo
質問者

お礼

早速のお答えありがとうございます! いろいろな方のすばらしいお答えがあったのですが1番目の書き込みに敬意を表して20ptとさせて頂きます。 実はこの処理は氏名に対して行なうもので間に空白1文字以上は必ず入れています(一文字の苗字や一文字の名前などの場合空白を増やして他氏名とのバランスをとっていますが)。この関数で十分助かりました。ありがとうございました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

VB/VBAにはRTRIM,LtRIM,TRIMがあります。エクセル関数には今のところ(2000)RTRIMがないようなので、関数を自作します。実質1行です。 シート画面でALT+F11キーでVBE画面になる。 ALT+I、Mで標準モジュールの画面になります。 そこへ Function rtrm(c As String) rtrm = rtrim(c) End Function を貼りつけます。rtrmは何でもVBの関数名ステートメント名以外ならOK。 シートに戻って、例えばB1セルに=rtrm(A1)といれる。 B1の値のみを複写し、f2キーを押すと右の空白が取り除かれていることを確認してください。

goropiyo
質問者

お礼

回答ありがとうございます。 私はVBAは詳しくないのですが関数を自作できるのに驚きました、実質1行で済むのは魅力ですね。

  • non23
  • ベストアンサー率36% (7/19)
回答No.4

私はいつもこうしてます。 ・スペースを●に置換する→”●で終わる”でフィルタをかける→ひとつずつ消す 件数が少ないときしかできませんけど‥。

goropiyo
質問者

お礼

回答ありがとうございます。 件数は3000件以上あります、私も最初似た様なことをしたのですが大変でした(涙)

  • yachin
  • ベストアンサー率40% (2/5)
回答No.3

Trimだと、文字間のスペースが一つになりませんか? 質問の文面を見ると、スペースが2つある例が見受けられます。VBAを使ったほうが早いのでは? Private Sub 右側空白セル削除() Dim c As Variant For Each c In Worksheets("Sheet1").Range("A1:C100") '< ----ここで領域をセットをする c.Value = RTrim$(c.Value) Next c End Sub

goropiyo
質問者

お礼

>Trimだと、文字間のスペースが一つになりませんか? 質問の文面を見ると、スペースが2つある例が見受けられます。 確かにその通りなのですが実は氏名データを扱っているため間のスペースは一つになるのが助かるのでしたm(__)m。 苗字が一文字の人は逆に空白を増やして「今  一郎」のように間二つにしたいんですけど、「今 助三郎」のように名前が4文字以上の場合空白は一文字にしています。よって空白2文字は極端に少ないのでとりあえずTRIMをかけて後で調整が良いようです。 ご回答ありがとうございました!

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

TRIM では 残念ながら 末尾だけの空白を削除というわけには いきません。 先頭についている 空白も削除されてしまうからです。 そこらへんを考慮して使う必要があります。 なお、末尾だけ削除にするには A1に入ってるものと前提して =RIGHT(TRIM("a" & A1),LEN(A1)-1) という風に 先頭にダミーの一文字をつければ 末尾の空白だけ削除ができます。

goropiyo
質問者

お礼

お答えありがとうございます。 先頭にダミーをつける考え方が自分にとって斬新でした。

関連するQ&A

  • エクセルでの文字列操作

    間に空白がある文字列「AB C」を「AB C 」           「A BC」は「A  BC」           「A B」 は「A  B 」 と言う風に変更したいのですが何か良い方法はないでしょうか? 前が苗字で空白後名前なのですが印字する時のバランスをとりたいのです。皆さんどうかお願いします。

  • Excel - 空白の結合

    以下のようなExcelのシートがあります。   A B C 1 ABC 123 DEF 2 3 456 4 DEF GHI 5 6 GHI 789 123 空白セルを結合したいです。 A1は、A2, A3と結合、A4はA5と結合、B列、C列も同じです。 要は、空白セルを上にある値の入ったセルと結合したいのです。 実際は、かなり大きな表なので、単純に結合していくのはNGです。 (A1と同じ値をA2, A3に入れた方がいいという意見があると思いますが、会社の表なので結合しないといけません。)

  • 置換演算子を使うと空白が入ってしまう

    $test = abcdef; $test =~ s/abc//g; 上記の様に置換演算子を使って文字列の削除を行うと、 「 def」の様に、削除した文字列に半角空白が入ってしまいます。 1回や2回ならよいのですが、何回も処理を行うと、 最終的に大量の空白が挿入されてしまい、大変困っています。 なんとか削除した部分に空白を挿入しない方法はないものでしょうか? 解決法がわかる方がいらっしゃいましたら、御教授頂きたく、 よろしくお願いします。

    • ベストアンサー
    • CGI
  • Excel VBA - 空白の結合

    以下のようなExcelのシートがあります。 A2からC7を選択した後、マクロを走らせて空白セルを結合したいです。   A B C 1 (空白) DDD (空白) 2 ABC 123 (空白) 3 (空白)(空白)(空白) 4 DEF GHI DEF 5 (空白)(空白)(空白) 6 (空白) 789 123 7 (空白)(空白)(空白) 8 GHI JKL MNO A3はA2と結合、A5,6,7はA4と結合、B列、C列も同様です。 要は、空白セルを上にある値の入ったセルと結合したいのです。 ただ、C2が選択範囲外のC1と結合すると困るので、先頭行の空白は、上の選択範囲外セルと結合しないようにしたいです。C2とC3は、結合しませんが、結合する仕様でも問題ありません。 (A2と同じ値をA3に入れた方がいいという意見があると思いますが、会社の表なので結合しないといけません。) ※以前、似たような質問をしましたが、少し違います。(これは未解決です。)

  • ●エクセル(Excel)での文字挿入について

    定型文字列の中に任意の文字列を挿入する方法がわからなくて困ってます; 例えば、A列に「サイトのURL」、B列に「サイトのタイトル」を入れると C列にタイトルをリンクタグで挟んだ文字列が表示される、、、というような感じです。 *URLはダミーです --------------------------------------------------------------------------------------      A列        B列             C列 http://www.abc.com | ABCドットコム | <a href="http://www.abc.com">ABCドットコム/a> http://www.def.co.jp | 株式会社DEF  | <a href="http://www.def.co.jp">DEF株式会社</a> http://www.ghi.net | GHIネット   | <a href="http://www.ghi.net">GHIネット</a> ・ ・  ・ -------------------------------------------------------------------------------------- 上記のようなことを可能にするできるだけ簡単な方法を教えていただけると助かります。 よろしくお願いします!

  • エクセル関数:右側の文字列を抜き出す方法

    エクセル初心者です。 文字列の抜き出す方法で悩んでいます。 たとえば、A1~A5までに下のような 文字列が順に入っているとします。 C:\abc\TEST1.DOC C:\abc\def\TEST2.DOC C:\abc\def\ghi\jkl\TEST3.DOC C:\abc\def\ghi\TEST4.DOC C:\abc\def\TEST5.DOC これらの文字列の一番右側の'\'以降の文字列 (TEST1~5.DOC)を、B1~B5のセルに 出したいと思っているんですが できるのでしょうか? RIGHT関数や、LEN関数、FIND関数を使って できそうな気がするのですが どうも良い方法が思いつきません。 よろしくお願いします。

  • PHPでaタグ内のリンクの末尾に文字列を追加したい

    PHPでaタグ内のリンクの末尾に文字列を追加したいのですがやり方がわかず困っております。 やりたいことは以下のようなことです <a class="url" href="http://www.abc.com">○○</> や <a href="http://www.abc.com">○○</> となっているhrefのリンクの末尾に"AAA"などの文字列を付加したいです <a class="url" href="http://www.abc.com/AAA">○○</> や <a href="http://www.abc.com/AAA">○○</> ご存じの方がいらっしゃいましたらご教授ください。 よろしくお願いします

    • 締切済み
    • PHP
  • エクセルのカウント方法

    エクセルのカウント方法で悩んでいます。どなたかお願いします。   A列  B列  1  abc  ○ 2      ○ 3  abc  ○ 4  def  ○ 5  ghi 6  jkl  ○ A列、B列ともに文字列が入力されている個数を求めたい。 ただし、A列で重複した場合はカウントしない。 上記の場合は 3 となる。

  • 列のユニークな文字列の個数を数える(条件付き)

    こんにちは。 「Excel 列の中のユニークな文字列の個数を数える」 http://okwave.jp/qa/q7469801.htmlではお世話になりました。 Excel 2007でA列にあるユニークな文字列の個数を数える マクロを教えていただき助かりました。 次のステップですが、 A列    H列 ABC12345 AB ABC12345 AB ABC12345 AB ABC12345 AB のようにH列がABだけのものの個数を数えたいです ABC54321 AB ABC54321 CD ABC54321 AB ABC54321 AB の様なものは数えません どのような条件をつければユニークな個数が数えられますか? おわかりの方お教えください。

  • 相似な三角形の面積比

    二つの三角形ABCとDEFがあり、それらは相似です。 AB:EF、DE:BCがわかっているとき、△ABC:△DEFの求め方を 教えて下さい。お願いします。

専門家に質問してみよう