• ベストアンサー

エクセル関数=TRIM()ができません

=TRIM()という関数を使って余分な空白の削除を行うのですがどうしても空白が取れません。 計算されるところまでは良いのですが、それをコピーし、値の貼付けをすると空白が入ってしまいます。何故でしょう。どうしたら空白が取れるのでしょう。教えて下さい。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.7

提示いただきたかったのは、セルC2に式[="[" & trim(B2) & "]"]を入力した状態です。 (入力の際には両端の[]は無しで ="[" & trim(B2) & "]" ですよ) なんだか、Alt+Enter(=vbLF)があるのかな?という気がします。 改行やタブなどの制御文字であると仮定して、Clean関数はどうでしょう? セルC2に式[=Clean(B2)]を入力。 セルC2に式[="[" & Clean(B2) & "]"]でも良し。

turutake_j
質問者

お礼

大変ありがとうございました。こんな関数があったんですね。 Cleanで文字どおり空白がクリーンになりました。 本当にありがとうございました。

その他の回答 (6)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.6

TRIM関数を使うに当たって次の式を試してみてはいかがでしょう。 仮にA1セルに文字列があるとして =SUBSTITUTE(TRIM(A1),CHAR(9),)

turutake_j
質問者

お礼

ありがとうございました。 やってみましたが、やはり貼り付け時には大量の空白が後ろにつき何も変化がありません。 OCRの読み方がよくなかったのですかねえ。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.5

実際のデータを例示していただくのがよさそうですね。 値の前後を[ ] ででもくくって表記してみてください。 1)Trim前 2)Trim後 3)値の貼付け後

turutake_j
質問者

お礼

ありがとうございます。 とにかく文字の後ろに大量の空白なんです。 図面でも説明しずらいのですが元データは書類をスキャンしてOCRでエクセルに落としたデータです。 そしてB列をC列にTrimしようとしているのですが、 1)Trim前 は B列のデータの後ろに大量の空白が入っています。空白が多すぎてC列以降のアルファベット表示も見えなくなってしまっています。 2)Trim後 は C列なのですが、後ろの空白はすっきり消されており、数式だけの表示になります。 3)値の貼付け後 は C列の部分をコピーしB列に形式を選択して貼り付けで値だけを貼り付けます。 しかし、後ろの空白が消えていないのです。 どうにかなりませんか?

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です! たびたびごめんなさい。 前回の回答は半角スペースしか対応できないみたいです。 全角のスペースは確認してみるとダメでした。 もし、全角のスペースを削除したいのであれば 無視してください。 どうも何度も失礼しました。m(__)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 私の勘違いかもしれませんが・・・ TRIM関数は文字列の前後の空白を削除する関数ではないでしょうか? (間違っていたらごめんなさい) 他の関数になりますが、 SUBSTITUTEを使ってみたらどうでしょうか? 検索文字列の欄に " " のように実際に空白を入れ 置換文字列は "" にします。 そうすると↓の画像のように文字列の途中の空白も削除できると思います。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

どのような文字列の空白を取り除いているのでしょうか 具体的に教えてください。 計算されtる所までは良い云々というのはtrim関数が入ったセルでは 正しく表示されるけど、コピーして値の貼り付けをした場合 その貼り付けしたデータは空白がもとに戻っていると言うことでしょうか 元  →あ  あ TRIM→あ あ 貼付 →あ  あ ですか

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

どこに空白が残っているか分かりませんので、TRIM関数の動作を説明してみます 自身で確認してみてください  「  文字」 → 「文字」  「  文  字」 → 「文 字」 文字間の空白は、1つだけ残されます 例では全角のスペースを使用していますが、 半角スペースを並べて記述できないページなので敢えて全角で記述させていただいています 半角スペースを並べているものと認識ください 本来 全角スペースは削除の対象にはなりません

関連するQ&A

  • エクセル,マクロのTrimの使い方

    エクセル2000を使っているのですが,マクロの使い方がよくわかりません. コピーペーストしてきた大量の文字行列の先頭末尾に余分な空白があって正しくソートされません.そこで,Trimを使おうと思ったのですが,使い方がいまいちよくわからず,エラーが出て実行できません. また,重複した内容のセルを抽出・削除もしたいのです. どうぞ教えてくださいm(_ _)m

  • Trimの使い方

    VBからSQL文を実行する場合、 その中で”Trim”を使用しても、実際に取得した値には 反映されません。(空白が削除されません) どのようにすれば”Trim”を使うことができるのでしょうか?

  • マクロ Trim

    A列に1500件ほどデータがあります。 左右、真ん中に余分なスペースがありそれを取りたいのですが、 Trim関数では左右の空白しか削除できません。 で、ググってみるとマクロを発見しました。以下です。 Sub 空白除去プログラム() Dim abc As Range ‘セルを定義 For Each abc In Selection abc = Trim(abc) ‘左右の空白を削除、「abc」を置き換える   Next End Sub 勉強不足で、セルを定義できません。A1:A1500を定義したいのですが どのように記述すればよいですか?また、このマクロに手を付け加えて、 今後、A1500以降にスペースを含む文字列が書かれたとき、 自動でスペースを削除するマクロに変更できますか? どなたかお願いします。

  • エクセル TRIM関数について

    エクセル TRIM関数について 何度トライしてもダメだったのでご回答お願いします。 Vlookupでデータを引っ張ってきたかったのですが、 検索値の末尾に半角スペースが入っているため エラー表示なってしまいます。 TRIM関数を使用してスペースを取り除こうとしたのですが、 どうしても半角スペースが消えません。 何か方法がありましたら教えてください。 宜しくお願いします。

  • ExcelVBAマクロで関数ごとコピー後空白削除

    ExcelVBAマクロについて確認させてください。 関数の入ったWorksheets(1)をWorksheets(2)に関数ごとコピーさせてさらにTrim関数で文字列前後の空白を除去するコードを作成しましたが、Worksheets(2)では関数が消えてしまい、 値のみコピーになってしまいます。 関数ごとコピーしてさらに文字列前後の空白を除去するコードがあればお教えくださいm(__)m

  • 関数が動かなくなったのですが。

    前から使っていたファイルで関数が急に動かなくなりました。計算方法が手動に変わったのかどうかチェックしたのですが、自動のままでした。 関数の入っているセルを全部削除して、他のシートから同じ関数をコピー、貼り付けするとちゃんと動きます。 ただ、削除しないで、上書きで貼り付けすると、動きません。 この現象は、どういう原因なのでしょうか?同じことがまた起こるととても困るのですが。

  • ACCESS 2000 → 97 Trim関数

    ACCESS 2000 で作ったものを 97 に変換したら Trim関数が使えないようです 宛名ラベルなのですが、簡単に修正する方法ありますか? 作り直さなければならないでしょうか

  • Excel2003 データの中身?(=TRIM)

    お世話になります。 表題の件で質問が御座います。 今、CSVで取り出したデータをExcelに変更したのですが 文字列の後ろに無駄にスペースが入っていたり、“見た目空白”のセルも 実はスペースが入っていたりで「Ctrl」+「方向キー」が 端っこまで行ってしまうので 「=TRIM」でスペースを消しました。 その後「TRIM」で抽出した値を元のセルに「値で貼り付け」をしたのですが そうすると なぜか 今まで右に寄ってた「数値」までもが左に寄り、表示形式を「通貨」にしても 数値として読み取ってくれてないようで「¥マーク」が付きません。。 そこで「質問(1)」なのですが、「TRIM」で取り出して元のセルに値で貼り付けると「文字列」になってしまうのでしょうか? 数値に見える文字列(?)のセルに「F2キー」で一旦カーソルを入れると きちんと数値になるようで 「¥マーク」が付きます。 が、しかし 1列2000行程のデータがあり、しかも 10列ほどに渡って同じような現象になってしまったので 全部で「20000セル」このような状況です。 「質問(2)」としましては関数か何かで一度に「数値風文字列(?)」を「数値」に変換する方法は御座いますでしょうか? どなたか ご存知の方、宜しくお願い致します。

  • 条件式にtrimを入れたい

    Mysqlでselectする時に、条件で指定した値とDB内のデータをtrim(空白除去)した値が一致したレコードを抽出されるようにしたいのですが・・・ 例えば、 あるテーブルの項目aaaの値が'あ いうえお'だとします。 条件式を where aaa='あいうえお' とした場合でもヒットさせたいのですが、どうすれば良いのでしょうか? aaaの値の空白を除去したものと一致すればいい、という事で select aaa from テーブル where trim(aaa)='あいうえお' ↑このようなイメージなのですが・・・ どなたか簡単なやり方を知っていれば教えて頂けませんでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • Excel   関数が入ったセルの「値のみ」コピーについて

    はじめまして。 Excelに関することで質問させていただきます。 Excel 2000を使用しています。 セルに関数を入れ、返された値を別のセルに「値のみ」貼り付けを選択してコピーしました。 値は文字列です。 その「値のみ」で貼り付けられた文字列を「COUNTIF」を使って、空白以外のセルの個数を出したいと考えています。 しかし、やってみると「値のみ」で貼り付けたはずのセルに”何か”が入っているようで、空白として無視してくれないのです。 空白のセルを個別にDeleteしてみると、やっと正確な数を返してくれるという状態です。 Excelに問題があるのか、やり方に問題があるのか、別の原因があるのか分からず困っています。 お力をお貸しください。 どうぞ宜しくお願いいたします。

専門家に質問してみよう