プロが教えるわが家の防犯対策術!

WinXP EXCEL2003です。

(テキストの空白などでうまく表現できないようでしたら添付ファイルのAとBをご覧ください。)

添付Aのように入力されているデータがあったとしますと

空白の部分を詰めて、右に詰めたいとき。求める結果→添付B



どのような処理をすればよいでしょうか?

空白部分を●●●などの記号に置換してテキストエディタ(秀丸など)で正規表現を利用して置換する・・・などトライしてみたのですが、うまくいきません。

できればEXCEL上で完結したいです。宜しくお願いします!!

「セルを右詰にする(セル内の右詰でなく)」の質問画像

A 回答 (4件)

例えばF1のセルに


=IF(ISERROR(CHOOSE(COLUMN(A1)-COUNTIF($A1:$E1,""),$A1,$B1,$C1,$D1,$E1))=TRUE,"",CHOOSE(COLUMN(A1)-COUNTIF($A1:$E1,""),$A1,$B1,$C1,$D1,$E1))
との数式を入れ、横にコピーすれば、例の感じにはなりそうですね。
けど、シンプルじゃないですけどね。
    • good
    • 0
この回答へのお礼

すばらしいです!シンプルである必要はありません!!(*^_^*)

例ではA~Eまでですが本当はA~Nまであります。

ただこれを改造すればできそうです!!ありがとうございます!!

お礼日時:2009/03/11 16:14

次の方法は如何でしょうか。


(1)F1に次の数式を設定、J1までコピー、F1:J1を選択して下方向にコピーして下さい。
   配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
=IF(COUNTA($A1:$E1)>=6-COLUMN(A1),INDEX($A1:$E1,LARGE(IF($A1:$E1<>"",COLUMN($A1:$E1),0),6-COLUMN(A1))),"")
(2)F:J列をコピー→A列を選択→形式を選択して貼り付け→値を選択→OK
(3)F:J列を削除
    • good
    • 0
この回答へのお礼

すごく良い感じです!!

ただ、(こちらのミスだったらスミマセン)結果で空白でなくてはいけない部分に一番左にある文字が出てしまいませんか?



あああ いいい ううう


↓↓↓↓↓↓↓↓↓↓↓↓


あああ あああ あああ いいい ううう


左にある「あああ」が2つ消えれば完璧なのですが・・・

もし私のやり方が間違っていご指摘ください。

宜しくお願いします。

お礼日時:2009/03/11 16:12

おっしゃってる意味が分からないんですけど・・・



添付画像を見た分には、入力箇所を変えるだけでできますよ?
A1に「あああ」と入力して調整してD1にではなく、D1に「あああ」と入力すれば添付Bの状態になりますよ???
これではだめ?
    • good
    • 0
この回答へのお礼

スミマセン。私の書き方が悪かったのだと思いますが、

例のようなデータが何万行もありまして、それを一括でVBAかマクロかテキストエディタなどを利用してBのような形にしたいのです。

スミマセン。わかりづらくて・・・(>_<)

お礼日時:2009/03/11 14:55

私なら…ということで書かせていただきますが


いったんCSVなどに書き出し、そのCSVファイルをメモ帳などで開き
置き換えで「,,」を「,」にすることを2回以上やって
データの区切りが「,」一個になるようにしてから
それを上書き保存し、そのCSVファイルをエクセルで読み込み
それをコピーしてしかるべきファイルのしかるべき部分に
貼り付けしますけどね。

参考までに
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

私の頭の中でそのことをやってみますと、確かにCSVにしたときに「,」が2つ以上ある部分が右側に繋がると思います。

たとえば

あああ,いいい,ううう,,

みたいに

でその2つのコンマを1つにして、再度2つを1つに、再度2つを一つにとしていくと右側に2つ以上のコンマは確かになくなります。

それを再度エクセルで開いてもCSVは左詰で開かれるためもとのままになる気がしますが・・・・いかがでしょうか?


せっかくお答えいただいたのに反論っぽくて申し訳ないのですが、、、もし私の質問の仕方が悪かったようでしたらお許しください。

お礼日時:2009/03/11 14:53

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