• ベストアンサー

Microsoft Office Excel (2007)で各セルに入っている空白を消したい

1からNまでの国の統計を利用するとします。 Year & Country 1 & … & Country N と第1行にあり、第2行からは時系列データが入っています。 この年データ(A2:Ax)の頭に空白が一つ、 具体的な統計(B2:Nの入っている列x)の最後に空白が一つ 入ってしまっているせいで、数値としての処理ができません。これらの空白を消したいのですが、いい方法はないでしょうか。 なお、TRIMやSUBSTITUTEを使って別のシートに移してみることはすでに試してみました。これではだめなようです。空白を手作業で消した場合はきちんと数値になっていました。手作業でやれと言われてしまいそうですが、それなりにたくさんのデータ数なので……。 どうぞよろしくお願いします。

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

  • ベストアンサー
noname#52504
noname#52504
回答No.5

#4です。 >もとのデータはWeb上でtableを使って組まれていたものなんですが >関係あるのでしょうか? おそらくその関係で「スペース以外の何か」が入っているのではないかと思います。 Webからとったデータには 「見た目存在せず、・表示もされず、CLEANでも飛ばない文字(コード)」 が含まれていることがあります。 1. 「見た目の文字数」と「LEN関数で返る文字数」が一致するか確認する。  ※もし一致しないようであれば「スペース以外の何か」が存在しています。 2. MID関数を用いて、年データ・統計データのそれぞれについて、 「何か」が存在している位置を特定する。  ※おそらくスペースの前後だろうと思われます。 3. 文字列操作関数を用いて「何か」以外の文字を切り出した上でVALUEをかぶせる。  ※例えば文字列の先頭に1文字存在しているなら:=VALUE(RIGHT(A2,LEN(A2)-1)) 別の原因である可能性もありますが、一応再現・挙動確認済です。

ech08280
質問者

お礼

素晴らしいです。「見た目存在せず、・表示もされず、CLEANでも飛ばない文字(コード)」があるなんて、全く知りませんでした。 統計データでは未確認ですが、年データでは間違いなくそうなりましたので、解決できたと思います。 本当にありがとうございました。

その他の回答 (4)

noname#52504
noname#52504
回答No.4

TRIMやSUBSTITUTEで空白を取り除いても、 文字列扱いの値は文字列のままですね。 やはり置換を使うのが最短だと思いますが、 関数でやるならば、VALUEをかぶせることで数値扱いになります。 VALUEは前後のスペースについては無視するので スペースが入っているのが両端だけであれば、 単に =VALUE(A2) のようにすればOKです。 他に、=--A2 や =A2*1 のように算術演算を絡めることで 数値に直す方法もあります。 こちらも前後のスペースは無視されます。 ご参考まで。

ech08280
質問者

お礼

無事、解決しました。 ありがとうございました。

ech08280
質問者

補足

VALUEを使うと、#VALUE!と、エラーになってしまいます。 算術演算も、これまでの回答を確かめる際に行いましたがエラーになってしまいます。 もとのデータはWeb上でtableを使って組まれていたものなんですが関係あるのでしょうか?

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

TRIM関数で、先頭と後尾のスペースは全部取り除く。全角のスペースも取り除くよう。 中間の連続したスペースは1つだけ残す。 中間のスペースは全角でも同じよう。 ーーー SUBSTITUTEは残さず取り除くし、半角と全角はネスとして2回聞かないとだめ =SUBSTITUTE(SUBSTITUTE(A1," ","")," ","") それに先頭も途中も後尾のスペースもなくしてしまう。 ーーー 編集ー置換ー(検索する文字列)スペースー(置換後の文字列)には何も入れない ーー >TRIMやSUBSTITUTEを使って別のシートに移してみることはすでに 何や蚊や言っているが、関数でも手間ではあるができると思うが 式だらけになる(が値を自身のセルに複写すればよいすが)ので、置換が良かろう。

ech08280
質問者

お礼

無事、解決しました。気にかけてくださり、ありがとうございました。 解決できた方法については、#5をご覧ください。

ech08280
質問者

補足

ご回答いただきありがとうございました。 TRIMもSUBSTITUTEも、ご指摘の内容に関しては存じております。また、元のデータは国際的な統計から取ったものですので、全角のスペースは存在しません。 編集・置換に関しては、成功しませんでした。 元のデータはWeb上でtableを使って組まれていたものなんですが、それは関係あるのでしょうか?

  • xiade
  • ベストアンサー率64% (88/137)
回答No.2

今手元にすぐ動かせる状態の Excel2007 がないので Excel2003 の場合にて: 修正したい範囲を選択し、 データ(D) → 区切り位置(E)  → カンマやタブなどの区切り文字によってフィールドに区切られたデータ(D) で 次へ(N)  → 区切り文字をすべて解除した状態にして 次へ(N)  → 列のデータ形式を G/標準(G) で完了(F) (2007の場合はメニューの位置や階層が変わっているかもしれませんが、"区切り位置"で探してください) これで区切ることなく形式を数値で再認識させることができます。 Excel2003 で数値の後ろに半角スペースや全角スペースを付けて形式もあえて文字列型にしたものを並べてテストしたところこの方法で数値型になりました。 うまくいかない場合は 空白 を区切り文字として一旦列を分割しつつ 数値であるべき列のデータ形式を G/標準 で区切りを実行し、不要な空白だけの列を削除すれば目的にかなうと思います。

ech08280
質問者

お礼

無事、解決しました。気にかけてくださり、ありがとうございました。 解決できた方法については、#5をご覧ください。

ech08280
質問者

補足

ご回答いただきありがとうございました。 ただ、解決していません。 もとのデータはWeb上でtableを使って組まれていたものをコピー・アンド・ペーストしたものなんですが、それは関係あるのでしょうか?

  • chipatan
  • ベストアンサー率45% (183/401)
回答No.1

空白とは半角なり全角なりのスペースのことで良いのでしょうか? 試してはいませんが、上部のメニューバーの「編集」→「置換」で、 「検索する文字列」を半角か全角のスペースにし(見た目、何もみえませんが) そして「置換後の文字列」には何も入力しないで「すべて置換」にしてみてはいかがでしょう?(理論上は消えるはずですが、、、) その作業で正確にスペースが取り除けても数値として認識しないようでしたら、セルの書式設定にて「文字列」になっていないかをチェックしてみたほうがいいかもしれないですね。 ExcelのVersionによって、多少異なるかもしれませんが、解決の糸口になれば幸いです。

ech08280
質問者

お礼

無事、解決しました。気にかけてくださり、ありがとうございました。 解決できた方法については、#5をご覧ください。

ech08280
質問者

補足

ご回答いただき、ありがとうございました。 当初は、こんなに簡単な方法を忘れていたのかと思いましたが、試してみたところ、解決しませんでした。 書式なんですが、当初は「標準」で(だからこそ手作業で消した空白は有効になるんでしょう、たぶん)、「数値」に変更してもやはり無理でした。 元のデータがWeb上でtableを使って組まれているものをコピー・アンド・ペーストしたものなんですが、それは関係あるのでしょうか?

関連するQ&A