- ベストアンサー
Excel2010
Excel2010で住所録を作りました。 住所の文字列の頭を4文字ほど開けてしまったのですが、 これを一括で左詰めにしたいのです。 このような操作は可能なのでしょうか。行数がかなりあるため困っています。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (5)
- kagakusuki
- ベストアンサー率51% (2610/5101)
回答No.4です。 書き忘れておりましたが、もし仮にデータが99999行目までしかなかった場合において、例えばZ1:Z200000という余分な範囲にまで数式をコピーしてしまったとしても、処理に要する時間が若干長くなるだけで何も問題はありませんので、貼り付け先の範囲を多めにしておきさえすれば良く、データが何行目まであるのかを正確に知る必要は御座いません。
- kagakusuki
- ベストアンサー率51% (2610/5101)
>頭を4文字ほど開けてしまった という表現から推測致しますと、頭の所に付いている空白の個数は必ずしも4文字となっているものばかりではなく、中には3文字しか空白が無いものや、5文字も空白が付いているものもあるという事なのでしょうか? もし、頭に付いている空白の数が異なっているものもある場合には、置換機能だけで対応する事は難しいと思います。 空白1文字を全て「文字列無し」と置換してしまえば、確かに頭の空白は全て消えますが、それでは住所の文字列の途中(県名と市名の間や市名と町名の間など)に含まれている空白も消えてしまいます。 ですから、TRIM関数を使用して処理する様にされた方が良いと思います。 今仮に、住所の入力されている列がA列であり、A列には99999行目まで何らかのデータが入力されているものとします。 その場合、まず使用していない適当な列(ここでは仮にZ列とします)の適当なセルに次の様な数式を入力して下さい。 =TRIM(INDEX($A:$A,ROW())) 次に、一旦、[Enter]キーを押した後、その数式を入力したセルをコピー([Ctrl]キー+[C]キー)して下さい。 次に、名前ボックス(fxと記されている箇所の左手にある、セルを選択するとセル番号等が表示される欄)に z1:z99999 などの様に、「数式を入力したセルがある列」における1行目から、「何らかのデータが入力されている1番下の行」までのセル範囲を入力して、[Enter]キーを押して下さい。 その上で、貼り付け([Ctrl]キー+[V]キー)を行いますと、Z1:Z99999のセル範囲に含まれている全てのセルに先述の関数が入力されます。 次に、Z1:Z99999の範囲が選択されている状態のままで、再度、[Ctrl]キー+[C]キー等でコピーを行なって下さい。 次に、A1セルを右クリックし、現れた選択肢の中にある[値のみ貼り付け](123の数字が描かれたクリップボードのアイコン)をクリックして下さい。 すると、余分な空白が削除された文字列がA列に貼り付けられますので、後は不要になったZ列を削除して下さい。 尚、もしも使用されているExcelのバージョンが古いもので、[値のみ貼り付け](123の数字が描かれたクリップボードのアイコン)が表示されない様であれば、[形式を選択して貼り付け]を選択し、「形式を選択して貼り付け」ダイアログボックスの[値]という箇所にチェックを入れてから[OK]ボタンをクリックする様にして下さい。
- dogs_cats
- ベストアンサー率38% (278/717)
- neKo_quatre
- ベストアンサー率44% (736/1638)
- neKo_quatre
- ベストアンサー率44% (736/1638)
住所の文字の中に他の空白文字がないのなら、「空白4文字」を「文字列なし」に置換とか。 TRIM関数ないし、LEN関数とRIGHT関数を組み合わせて空白文字を削除した文字を作成し、コピー、値を貼り付けとか。
補足
Excelに弱いのでもう少し詳しく教えてください。
お礼
回答ありがとうございます。 少し難しい方法です。 bunjiiさんの方法を採用しました。