Excelでデータ整理する方法と手順【具体例付き】

このQ&Aのポイント
  • Excelでデータベースから抽出した企業の情報を特定の向きに並べ直す方法について説明します。
  • 【A】のように縦に並んでいる情報を【B】のように横にまとめることで、1つの企業の情報を1行にまとめたリストを作成することができます。
  • Excel2010とExcel2013どちらでも同じ手順で利用することができます。Windows10でも問題ありません。
回答を見る
  • ベストアンサー

Excelでデータ整理

データベースから抽出した企業の情報をリスト化するために、情報を特定の向きに並べ直したいです。 具体的には添付した図の通りですが、 【A】 1 名前1 2 住所1 3 電話1 1 名前2 2 住所2 3 電話2 1 名前3 2 住所3 3 電話3 と縦に並んでいる情報を 【B】 名前1 住所1 電話1 名前2 住所2 電話2 名前3 住所3 電話3 と1つの企業の情報を1行にまとめ、リストを作っていきたいです。 現在は、方法が見つからない為【A】のデータを行列入れ替え機能で横一列に並べ、そこから一組ずつカット&ペーストで【B】の形に持って行っています。 600件弱だし締め切りまで時間がなかったので、方法を探す間に作業を進めた方が早いと思い一つずつ作業していました。しかし今回新たに、前回よりも短い期間でかなり多くのデータが欲しいと言われたので、藁にも縋る思いで質問させていただきました。 最初にやり方を求めて簡単にググりましたが、それらしい方法も使えそうなヒントも見つける事が出来ませんでした。 周囲にいるExcelにかなり詳しい方にも何人か聞きましたが、ちょっと分からないと言われてしまいました。 前回リストを作ったのはExcel2010でしたが、最近Excel2013を購入したので、この2つであればどちらでも利用可能です。 またOSはWindows10になります。 どうか知恵をお貸し下さい。 よろしくお願い致します。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

関数の組み合わせで処理可能です。 貼付画像はExcel 2013での検証結果です。 C1=INDEX($A:$A,(ROW()-1)*3+COLUMN(A1),1)&"" C1セルを横にE1までコピーし、その結果の3つのセルを下へ必要数コピーすれば良いでしょう。

mineruva_owlet
質問者

お礼

素早い回答ありがとうございます。 検証させていただきましたが、何故か私の方では上手くいかず…… 時間がなかった為、事後報告になってしまい申し訳ありません。 ありがとうございました。

mineruva_owlet
質問者

補足

あああああああ!! すみません他の方へのお礼と間違えて書き込んでしまいましたっ!! 教えていただいた方法で上手く処理することができ、無事大量のデータを短期間でリスト化することができました。 本当に助かりました。ありがとうございます。

その他の回答 (3)

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.4

D2: =OFFSET($B$1,ROW(A1)-1+COLUMN(A1)-1,)

mineruva_owlet
質問者

お礼

素早い回答ありがとうございます。 教えていただいた方法、試してみましたがどうにも上手くいかなくて…… せっかく教えていただいたのにすみませんでした。 ありがとうございました。

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.3

C~E列に抽出するものとします。 C1式 =OFFSET($A$1,ROW()*3-3,0)&"" D1式 =OFFSET($A$1,ROW()*3-2,0)&"" E1式 =OFFSET($A$1,ROW()*3-2,0)&"" E1~D1を下方へオートフィル A列にデータを戻したい場合は、C~E列を列毎コピーして選択貼付けで値だけでペーストして下さい。

mineruva_owlet
質問者

お礼

素早い回答ありがとうございます。 教えていただいた方法を試したら、無事リストを作ることができました。 コピーして選択貼付けで値だけでペーストのやり方も、そのまま貼り付けたら関数をコピペしてしまい途方に暮れてしまったのですごく助かりました。 ありがとうございました。

  • qwe2010
  • ベストアンサー率19% (2138/10830)
回答No.1

マクロを使えばよいです。短期間でしないといけないのなら、 50くらいマクロを使いならば換えができるシートを作っておき、 シートのコピーを10作れば、50ずつ処理できますので500できます。 新しいマクロの記憶から名前をつけ、操作をしていけば、終わるまで、それを記憶してくれます。 ソノシートにデータをコピーして、マクロを動かせば、一瞬に並べ替えしてくれます。 それを1つのシートにコピーしてまとめてください。 暇なときに1000ほどできるシートを作っておけばよいです。 マクロには、編集機能があります。 そこを見てどの様にマクロが記述されているのか勉強すると、簡単に1000ぐらいの物はできます。

mineruva_owlet
質問者

お礼

素早い回答ありがとうございます。 なるほど、マクロか!とqwe2010さんの回答を読んだ瞬間心の中で叫んでいました。 マクロは使い方がよく分かってないので、使いどころで閃かないといいますか…… 今回記録して使ってみたら、思った以上に簡単にできたので、これからどんどん使い倒しつつ勉強していこうと思いました。 ありがとうございました。

関連するQ&A

  • 「エクセル」で重複したデータだけを呼び出したい。

    「Excel2000」を使用しています。 「重複しているデータだけ抽出する」 ということは出来るでしょうか? たとえば「A列」に名前が入っていて、 「B列」に住所、「C列」に電話番号が 入っているとします。 重複した名前だけを呼び出して、 なおかつ「B列」「C列」の データも表示させたいのですが…。

  • エクセル2007の表示について

    エクセル2007で縦に入力されている文字を横一列に並べるにはどうしたらよいでしょうか。 ネットから住所・名前・電話番号コピペして張り付けたのですが、 縦ではなく横一列に並ぶようにしたいです。 エクセルには    A       B       C 1 名前 2 住所 3 電話番号 となっているのですが、   A       B       C 1 名前     住所    電話番号 2  3 という風に並べ替えたいのですが、どうしたらよいでしょうか。 大量にあるのでできれば一括でできるような方法はないでしょうか。 

  • Excelの並べ替えについて

    Excel2007なのですが、並べ替えについてわからないので教えてください。   1つのセルに、名前・住所・電話番号がそれぞれ入力してあり、 それが縦並びになっています。 名前 住所 電話番号 となっているのですが、これをセルで区切って横一列にしたいのです。 列Aには名前、Bには住所、Cには電話番号が表示されるに用に体裁を整えたいのですが やり方がわかりません。どなたか教えてください。 説明不足かもしれませんが…大量にありこまっています…。

  • 「エクセル」で、「アクセス」のようにデータを呼び出したい

    「Excel2000」を使用しています。 少し、ややこしいのですが… たとえば住所録で、 「sheet1」の 1行目にリストのタイトルが入っていて、 A2、A3…に通し番号、 B2、B3…に名前、 C2、C3…に住所、 D2、D3…に電話番号 が入っているとします。 その時、「sheet2」の (たとえば)A2に 「sheet1のA2」に入っている通し番号を入力すれば、 その行に入力されている名前や住所や電話番号が、 任意のセル(たとえばD10、C8、C9)に表示される… といったことは可能でしょうか? こういったことは「Access」が 得意なんだと思いますが、なんとか エクセルで出来ないものでしょうか? マクロなどを使うのでしょうか? マクロはほとんど触ったことがないのですが、 チャレンジしてみますので お教え願えませんでしょうか。

  • 「エクセル」で「アクセス」のようにデータを呼び出したい(2)

    「Excel2000」を使用しています。 NO.608938で質問を させて頂いたのですが、 それを踏まえた新たな疑問が 出てきたので、前回の質問文を引用させて 頂きます。 >たとえば住所録で、 >「sheet1」の >1行目にリストのタイトルが入っていて、 >A2、A3…に通し番号、 >B2、B3…に名前、 >C2、C3…に住所、 >D2、D3…に電話番号 >が入っているとします。 >その時、「sheet2」の >(たとえば)A2に >「sheet1のA2」に入っている通し番号を入力すれば、 >その行に入力されている名前や住所や電話番号が、 >任意のセル(たとえばD10、C8、C9)に表示される… >といったことは可能でしょうか? …との質問に、VLOOKUPを使う方法を 教えて頂いたのですが、さらにもう一歩進んで… たとえば同一人物(名前、住所等同じ)に 同じ通し番号をつけた場合に、 その人が受け持っている 複数の得意先の名前(E2、E3…)や 住所(F2、F3…) を、Sheet2にまとめて表示させることは 出来るのでしょうか? 分かりにくい説明ですみませんが… たとえば、番号「1」番の「田中太郎」さんが A2、A3、に入力されていて、 E2に「○○商事」、E3に「○○物産」(Fに住所) となっていた場合、Sheet2に「1」と入力して 「田中太郎」さんを呼び出すと同時に、 得意先の一覧と住所も表示させることは 出来るでしょうか? 「同時に」でなくても構わないので、 何か良い方法がありましたらお教え下さい。

  • エクセルのデータ加工

    エクセルのセルで、縦に1行目名前A、2行目住所A、3行目電話番号A、4行目名前B、5行目住所B、6行目電話番号B・・・、という具合に並んでいるデータを横に1列目1行目名前A、1列目2行目名前B、2列目の1行目住所A、2列目の2行目住所B、3列目の1行目電話番号A、3列目の2行目電話番号B、という風に加工したいのですが、一つ一つセルを移動するのではなく、なにか良い方法はありませんでしょうか?ちなみにデータは1000件ほどあるのですが。

  • Excelのデータの並び替えについて

    例えばHP上の店舗一覧リストなどをコピーしてExcelにそのままテキスト形式にて貼り付けを行った場合、A列に (1)店舗名 (2)スペース (3)スペース (4)住所 (5)電話番号 上記の3つのデータが表示されたとします。 その店舗数が複数店あり上記(1)~(5)までの繰り返しデータを最終的に    店舗名   住所      電話番号  A店   大阪府××    03-××  B店   東京都××    03-×× C店 ..... .... のようにリスト化したいのですが原始的な手作業で加工する以外に何か良い方法ありますか? よろしくお願いいたします。

  • excelでのデータ整理について。

    こんにちわ。題名にある通り、excelのデータ整理に関して質問があり、投稿させてもらいます。二つのシートにあるデータを以下のように一つにまとめたいのですが、データの数が違う点などで困っています。簡単に書くと下のようにまとめたいです。 シート1       シート2        シート3 (1) A         (1)          (1) A (2) B        (1)         (1)A (3) C        (2)          (2)B            (3)          (3)C            (3)         (3)C            (3)          (3)C (数字)は一列目の値で、アルファベットは二列目の値です。シート1とシート2を合わせてシート3のようにくっつけたいのですが、両方のデータ数が異なる為、手間取っています。なにか、方法等はあるのでしょうか。 皆さんのアドバイスを受けたく、投稿させていただきました。何卒、よろしくお願いします。

  • 別シートのデータを抽出して並べ替えたい

    シート1のA列だけに1行飛ばしで名前、住所、電話番号のデータが入っています。ついでに、次の情報との間は2行飛ばしになっています。    A         B ―|―――――|―――――― 1|名前a  | 2|     | 3|住所a  | 4|     | 5|電話番号a| 6|     | 7|     | 8|名前b  | といった感じです。 このデータを下のように、シート2に綺麗に並べ替えたいのですが…     A      B         C ―|―――――|―――――|―――――――| 1| 名前a | 住所a | 電話番号a | 2| 名前b | 住所b | 電話番号b | 3| 名前c | 住所c | 電話番号c | ひとつずつコピペで移そうと考えていたのですが、データが何百件と増えてしまったため困っています。 簡単にできる方法があれば教えてください。 よろしくお願いします。

  • エクセルの使い方

    エクセルの使い方につき教えてください。 ワークシートAとワークシートBのデーターを合体させたいのですが 具体的にはワークシートAに1000名分の名前および住所があり ワークシートBに同じく500名分の名前および電話番号が記載されている 前提でこの2つのデータを合体させて住所と電話番号のリストが作りたいのですが、何か簡単に作れる方法あるでしょうか?

専門家に質問してみよう