• ベストアンサー

セルを右詰にする(セル内の右詰でなく)

WinXP EXCEL2003です。 (テキストの空白などでうまく表現できないようでしたら添付ファイルのAとBをご覧ください。) 添付Aのように入力されているデータがあったとしますと 空白の部分を詰めて、右に詰めたいとき。求める結果→添付B どのような処理をすればよいでしょうか? 空白部分を●●●などの記号に置換してテキストエディタ(秀丸など)で正規表現を利用して置換する・・・などトライしてみたのですが、うまくいきません。 できればEXCEL上で完結したいです。宜しくお願いします!!

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

  • ベストアンサー
回答No.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)) との数式を入れ、横にコピーすれば、例の感じにはなりそうですね。 けど、シンプルじゃないですけどね。

mz80bkzkz
質問者

お礼

すばらしいです!シンプルである必要はありません!!(*^_^*) 例ではA~Eまでですが本当はA~Nまであります。 ただこれを改造すればできそうです!!ありがとうございます!!

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

次の方法は如何でしょうか。 (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列を削除

mz80bkzkz
質問者

お礼

すごく良い感じです!! ただ、(こちらのミスだったらスミマセン)結果で空白でなくてはいけない部分に一番左にある文字が出てしまいませんか? 例 あああ いいい ううう ↓↓↓↓↓↓↓↓↓↓↓↓ あああ あああ あああ いいい ううう 左にある「あああ」が2つ消えれば完璧なのですが・・・ もし私のやり方が間違っていご指摘ください。 宜しくお願いします。

  • arasato
  • ベストアンサー率30% (7/23)
回答No.2

おっしゃってる意味が分からないんですけど・・・ 添付画像を見た分には、入力箇所を変えるだけでできますよ? A1に「あああ」と入力して調整してD1にではなく、D1に「あああ」と入力すれば添付Bの状態になりますよ??? これではだめ?

mz80bkzkz
質問者

お礼

スミマセン。私の書き方が悪かったのだと思いますが、 例のようなデータが何万行もありまして、それを一括でVBAかマクロかテキストエディタなどを利用してBのような形にしたいのです。 スミマセン。わかりづらくて・・・(>_<)

  • Us-Timoo
  • ベストアンサー率25% (914/3620)
回答No.1

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

mz80bkzkz
質問者

お礼

ご回答ありがとうございます。 私の頭の中でそのことをやってみますと、確かにCSVにしたときに「,」が2つ以上ある部分が右側に繋がると思います。 たとえば あああ,いいい,ううう,, みたいに でその2つのコンマを1つにして、再度2つを1つに、再度2つを一つにとしていくと右側に2つ以上のコンマは確かになくなります。 それを再度エクセルで開いてもCSVは左詰で開かれるためもとのままになる気がしますが・・・・いかがでしょうか? せっかくお答えいただいたのに反論っぽくて申し訳ないのですが、、、もし私の質問の仕方が悪かったようでしたらお許しください。

関連するQ&A