エクセルで表の中のデータの並びを変える方法は?

このQ&Aのポイント
  • エクセルで表の中のデータの並びを変える方法を教えてください。手作業でコピペするのは大変なので、効率的な方法があれば教えてください。
  • エクセルの大量のデータの展開で重さを感じています。データの並びを変える方法を教えていただけると助かります。
  • エクセルでテーブルのデータの順番を変更するにはどうすれば良いですか?手作業での作業は非効率なため、自動化できる方法を教えてください。
回答を見る
  • ベストアンサー

エクセルで表の中のデータの並びを変える

 例えば A1:名前(ふりがな)【男女 生年月日】 B1:郵便番号 B2:住所 B3:電話番号 次の行:空白 とあるのを A1:名前 B1:ふりがな C1:男女 D1:生年月日 E1~G1:郵便番号~電話番号 と並べ替えるにはどのような方法が考えられるでしょうか。25000レコードほどあり手作業でコピペするのは骨が折れるもので。【】の中は固定長で男女はどちらかの文字が入ります。そのあと半角のスペースがあり西暦4桁の整数、漢字の文字列"年",ゼロサプレスしない形で半角2桁の月数をあらわす文字列と文字列の"月"、同じルールで日をあらわす整数(文字列)と文字列の"日生"と続きます。それ以外のセルに入るデータは可変長文字列です。  エクセルはとにかくこれだけのデータを展開すると重くなるので分けてやるつもりです。本当はアクセスでやるべきなのでしょうが力量不足でして。  おわかりの方よろしくお願いします。

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

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.1

A列セルの内容をB列、C列、D列に分けるには、 「データ」-「区切り位置」を使えば出来ると思います。 その前に、B列に入っている郵便番号、住所、電話番号を それぞれ、E列、F列、G列に持っていきます。 A1:名前(ふりがな)【男女 生年月日】 B1:郵便番号 B2:住所 B3:電話番号 4行目:空白 A5:名前(ふりがな)【男女 生年月日】 B5:郵便番号 B6:住所 B7:電話番号 8行目:空白 のようになっているとして、 E1セルに =IF(MOD((ROW(A1)-1),4)=0,INDIRECT("B"&ROW(A1)),"") F1に =IF(MOD((ROW(A1)-1),4)=0,INDIRECT("B"&ROW(A1)+1),"") G1に =IF(MOD((ROW(A1)-1),4)=0,INDIRECT("B"&ROW(A1)+2),"") と式を入力して、最終行までコピー&ペーストします。 E列からG列を範囲指定して、「編集」-「コピー」、そのまま「編集」-「形式を選択して貼り付け」で「値」を貼り付けます。 B列を選択して、Deleteキーを押します。 次に、A列セルの内容をB列、C列、D列に分けます。 質問文中にあるように 名前(ふりがな)【男女 生年月日】 ( や 【 で区切られているとすると、 A列を選択して、メニューバーの「データ」-「区切り位置」で[カンマやタブなど~」を選択して[次へ] [区切り文字]の、その他の右横にある空欄に ( を入力 その他(O)以外のチェックを全てはずして[次へ]、[完了] B列を選択して、「データ」-「区切り位置」で[カンマやタブなど~」を選択して[次へ] [区切り文字]の、その他の右横にある空欄に 【 を入力 スペースにチェックを入れて[次へ]、[完了] これで、ふりがな、男女、生年月日がそれぞれB列、C列、D列に収まります。 「編集」-「置換」で[検索する文字列]に ) を [置換後の文字列]には何も入れず[すべて置換] 同じく、「置換」で[検索する文字列]に 】 を [置換後の文字列]には何も入れず[すべて置換] A列を選択して、 「編集」-「ジャンプ」の[セル選択]ボタンを押して、[空白セル]にチェックを入れ、OKボタンを押します。 そのままの状態で、「編集」-「削除」で[行全体]を選んでOKボタンを押します。

poor_Quark
質問者

お礼

すべてうまくいきました。ありがとうございました。

関連するQ&A

  • エクセル2007 データ抽出(関数)について

    教えてください。エクセルシートにて郵便番号と住所が重複しているデータを抽出したいのです。 例)ある顧客の情報として、シート1のA列に、1から10までの新規顧客の氏名、B列には生年月日が入力されています。C列,D列は空白で、E列には全ての顧客(新規顧客を含みます)の氏名、F列には生年月日、G列には郵便番号、H列には住所が入力されています。このふたつの情報の中から、新規顧客データと全ての顧客データの氏名、生年月日が重複している顧客のみ、C列にその郵便番号、D列に住所を表示させたいのです。 OSはXP エクセル2007です。 困っています。よろしくお願いします。

  • EXCELで大文字から小文字へ変換したい

    EXCEL2000の住所録データを筆王の住所録へ変換しているのですが、うまくいきません。(-_-;)それは、郵便番号と電話番号が大文字(全角)になっていて、筆王の郵便番号の桁数でいくと半角で10桁となっています。EXCELのデータが大文字のため入りきれないのです。EXCELの大文字数字(全角)をどうにかして小文字数字(半角)にできないものか?データが多いもので、悩んでいます。どなたかお助けくださいませm(__)m

  • エクセル 数値データを桁をそろえて文字列データに変換するには

    よろしくお願いします。 エクセル2002を使用しています。 数値データとして整数1桁、2桁、3桁のデータが混在してあります。 これを1桁、2桁のものは前にゼロを付けて全て3桁の文字列に変換する方法はありますか? できれば関数を使って 例  数値 文字列   8⇒008  12⇒012 235⇒235  11⇒011 できた文字列で品番コードとして使用します。 どなたかご存知の方、ご教授お願いします。

  • エクセルのデータのラップ

    エクセル2003です。 5万件近くあるデータベースにかなりの数重複したデータが入っており、データ(行)を抹消したいのですが、何かいい方法はないでしょうか? 列は、6列程度で、A列は年月、B列は番号の様な文字列(先頭がゼロで始まる同じ桁数の数字群)、C~Eは文字列、F~Gは年月日です。 並べ替えて、手作業で地道に抹消していくぐらいしか思いつきませんので、いい方法がございましたら、教えて下さい。

  • excelで名簿を

    excelで名簿を作りたいのですが..... (1)登録順に1から始まる数字が割り振られています。(”登録番号”と呼ぶことにします) (2)A列から順に A列「登録番号1~30」、B列「1~30の人の名前」、C列「1~30の人の生年月日」が入るとします。 (3)登録番号が31~60のデータは、D列「登録番号31~60」、E列「31~60の人の名前」、F列「31~60の人の生年月日」に入るとします。 (4)2ページ以降も同様にしてA~C列には登録番号61~90の人のデータがD~F列には登録番号91~120の人のデータが入るとします。 ここでたとえば30番目の人の名前と生年月日のデータを削除したときに31番目以降のデータが一つずつずれるようにはできますか? 30番目には31番目の人の名前と生年月日が、60番目には61番目の人の名前と生年月日がくるといった具合です。データ(セル?)を追加するときも同様です。 データ(セル?)を削除、追加したときに2ページ目以降の印刷開始位置や開始番号(登録番号のことです)→(2ページ目なら61、3ページ目なら121 がずれないようにしたいのです。 どなたかよろしくお願いします<(_ _)>       

  • エクセルの入力

    エクセルの課題をやっています。 郵便番号の7桁を、3桁をA列に4桁をB列にわけて入力したいのですが、桁のはじめが「0」ではじまると「0」が抜けた状態になってしまうため、それぞれのセルの書式を「郵便番号」に設定しA列は解決しました。ですがB列は4桁入力のため例えば「0011」と入れたくても「011」に、「0303」は「303」になってしまいます。どのように解決すればいいでしょうか?宜しくお願いします。 例)085-0048    A       B 085     0048(正解)           048(失敗)

  • エクセル2007 一覧表よりデータを抽出したい

    下記のデータ表から、 A列が同じ数字のC列の文字列を別のセルに間を開けずに結合したいのです。 A列 B列 C列 9   0   い 9   1   し 11  0   あ 12  0   す 13  0   こ 13  1   か 13  2   え 17  0   あ 数値の条件: A列:番号(0から1000くらいまでで昇順で並びます。連続していません) B列:A列番号の枝番号(0から20くらいまで) C列:文字列で、いろいろな文字が入り、文字数は一定しません この表から、D列にA列の番号がダブらずに入り、E列に結合した文字列を 空き行が出ないように表示させたいのです。 D列 E列 9  いし 11 あ 12 す 13 こかえ 17 あ なんとか試してみましたが、枝番号の数だけ空きが出来てしまう方法しか 私の知恵では考えられませんでした。 ↓このような感じです… D列 E列 9  いし 11 あ 12 す 13 こかえ 17 あ ご教授のほどよろしくお願いします。

  • 郵便番号 エクセル書式

    エクセルの書式を使って2つにわかれた郵便番号 をひとつ(3桁 ハイフン 4桁)にまとめたいのですが、どのような書式を組めばよいですか? お知恵をかしてください。 =CONCATENATE(A2,"-",B2)まではわかるのですが、 ハイフンの後の桁数を四桁にそろえる部分がわかりません。 A列         B列        D列 注文者郵便番号1 注文者郵便番号2  注文者郵便番号  152            2 152-0002

  • エクセルで、桁数の異なるデータ(整数)を抜きたしたいのですが?

    初心者です! エクセルで、例えばA列にある桁数の異なるデータ(整数)を抜きたしたいのですが、アドバイスをお願いします。 桁数は、9桁~11桁の3種類のデータがあり、例えば9桁のデータを抜き出すには、どのようにすればよいのでしょうか? 【例】 A列↓ 123456789 2345678910 45874521223 235461789 4567896541 89756413578 以上、宜しくお願いします。

  • エクセルで数が入っている文字列同志をつなげたいのですが・・(郵便番号)

    CSVデータで、A列は郵便番号の3桁部分、B列には4桁部分とそれぞれ別の列に入っていて、 C列に000-0000というふうにデータを自動で入れたいのです。 で、例えば001-0088という郵便番号というとき、A列B列の値は、1と88しか入っていません。 この値は、セルの書式設定のユーザー定義で定義しなおして、それぞれ001、0088と表記しなおせたのですが、 それをC2=A2&B2でくっつけようとするとC2には188としかでてきません。 これを001-0088という風にでるようにしたいのですが どのようにすればいいでしょうか????

専門家に質問してみよう