- ベストアンサー
エクセルで表を作成するとき
こんばんは。初歩的な質問かもしれませんが、よろしくお願いします。 今、エクセルを使い表を作成しているのですが、 A行に名前、住所、電話番号が交互に入っています。 それをB行に住所、C行に電話番号を持っていきたいのですが 一括で移動できる方法はありますか??(数が膨大なので・・) 住所と電話番号の前には全て、住所: また電話番号: と入っているので、置換を使えばできるかなとも思ったのですが うまくできません。 一括でなくても、簡単にできる方法をご存知の方いらっしゃいましたら 教えてください。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
状態は…どちらでしょう? ------------------------------------------------------------- (あ)A列の1行目の中に氏名・住所・TELが続けて入っている A | (名前) 住所:(住所が入る) 電話番号:(TEL) | ------------------------------------------------------------- (い)A列の1行の中に 氏名・住所・TEL が改行で入っている A | (名前) | 住所:(住所が入る) | 電話番号:(TEL) | ------------------------------------------------------------- (あ)(い)の状態のものを A列に名前・B列に住所・C列にTEL とするという意味でしょうか? もし(い)の場合だとすると、改行をとらないとダメですが… (あ)の場合だとしたら… 1.まず「住所:」を「●住所:」←●はスペースでも●でも可です 2.次に「電話番号:」を「●電話番号:」にそれぞれ置き換えます 3.二つの前にスペースが入ったら(上のバーのAを選び)A列を選択します 4.データ→区切り位置 で【区切り位置指定ウイザード】を開きます 5.カンマやタブなどの区切り文字によって…の方を選び→次へ 6.区切り文字の部分を先ほどスペースを入れたのでしたら スペースにチェックを入れます ●の場合はその他にチェックを入れ すぐ後ろの枠の中に●を打ち込みます 7.下のデータのプレビューに線が入るはずなのでOKなら【完了】を押せば終わりです
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
例データ A1:A6 a b c d e f ーー B1に =INDEX($A$1:$A$100,(ROW()-1)*3+COLUMN()-1,1) B1の式をC1,D1に複写。 B1:D1の曽木をB2:D2に式を複写 結果 a b c d e f ーー ただし 式において データ左上隅(開始セル)B1の位置によって ROW()-1 COLUMN()-1 およびデータ数によって $A$100の100を変えること。 a b c
お礼
無事解決いたしました。 ご回答どうもありがとうございました。
- pi8181
- ベストアンサー率100% (1/1)
全てA列に入っていて、セルは全部別々 (1行目のセルに名前・2行目のセルに住所……) A | 1 (名前) | 2 住所:(住所が入る) | 3 電話番号:(TEL) | ------------------------------------------------------------- ということでしょうか?こうなると改行を取るという方法ではなく 1.回答N03の方(guchi_yamaさん)の方法で A列(基本のデータ) B列 名前 C列 住所 D列 TEL の4列を作ります 2.A列を消してしまうとエラーになるかもしれないので ここまできたら、一旦 ファイル→名前をつけて保存 で ファイルの種類の部分を ▼で下の方にある 「CSV(カンマ区切り)(*.CSV)」を選び 適当な名前で、どこかに保存します 3.「!」が出ますがこのまま「はい」します さらにもう一度「!」がでますがこれも「はい」でいいです 4.保存したらこのファイルを閉じますが、閉じる際にまた 保存しますか?と聞いてきますがこれは「いいえ」で終わります 5.さっき、保存したCSVのデータを開き、A列を消します (レイアウトは直してください、くずれてるはずなので) 6.保存は、もとどおりファイルの種類(*.xls)にすれば完了のはずです
お礼
無事解決いたしました。 図々しく2回も回答をお願いしましてすみません。 どうもありがとうございました。
- guchi_yama
- ベストアンサー率47% (57/119)
あまり簡単ではないかもしれませんが、 B1に =OFFSET(A1,ROW()*2-2,0) C1に =OFFSET(A1,ROW()*2-1,0) D1に =OFFSET(A1,ROW()*2,0) とそれぞれ貼り付けて下までオートフィルし、 B列に名前、C列に住所、D列に電話番号を移します。 その後、移したB,C,D列全てをコピーし、 そのまま「形式を選択して貼り付け」の、 「値」をチェックしてコピーします。 そして。最後にA列を全て削除で完成です。
お礼
無事解決いたしました! ご回答どうもありがとうございました。 エクセルってすごいですね・・!
- k7777
- ベストアンサー率0% (0/1)
A列を全て選択 A列の上で右クリックしてコピーをクリック B列とC列に貼り付け B1セルの上で右クリックして削除をクリック 出てきた選択メニューから上方向にシフトを選択してOKをクリック C1セルとC2セルもB1セル同様に削除 A列B列C列を選択 メニューバーのデータ内並べ替えで列A、昇順、データを選びOKをクリック A列に住所が入力されている行以外の行を全て削除 質問と違っていたら御免なさい
お礼
すみません、行と列を間違っていたため質問が意味不明になってました・・・ 無事できました!どうもありがとうございました。
補足
どうもありがとうございます。 (い)の状態なのです。 全てA列に入っていて、セルは全部別なのです。 A列1行目に名前、2行目に住所、3行目にTEL という感じです。 図々しくてすみません、改行はどうやってとればいいのでしょうか?? もしご存知でしたら教えていただけると有難いです。