- ベストアンサー
Excelの2つのシートのデータ-を。。。。。
1つのシートには 鈴木さん 住所・・・・ 山田さん 住所・・・・ 田中さん 住所・・・・ というリストが3000人分ほど入っています 別のシートには 鈴木さん りんご 鈴木さん とまと 鈴木さん みかん 山田さん りんご 田中さん いちご 田中さん とまと 田中さん りんご 田中さん みかん と、言った感じで同じ人物が縦書きで複数回登場します 実際はフルネームなので別人が重なることはありません で、です。 別のシートでも1枚目のシートにでもいいのですが 鈴木さん 住所・・・ 3 山田さん 住所・・・ 1 田中さん 住所・・・ 4 と、列に2枚目のシートでの登場回数を反映させたいのです。 なにせ3000件あまり、手作業ではなく、関数を使ってする方法はないでしょうか、、、 もう少し欲張ると りんご とまと みかん いちご 鈴木さん 住所 3 1 1 1 山田さん 住所 1 1 田中さん 住所 4 1 1 1 1 ってな事は、できませんか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1, 3です。 住所はうまくできたようなので、果物?の集計について書いていきます。 以下はExcel 2002で試してみた方法です。 まず、各列の見出しを入れる必要があります。 もし、まだ見出し行がない場合は適当に作成してください。 私は「名前」「果物」として実験してみました。 手順 果物のシートを開いておく [データ]-[ピボットテーブルと…] ウィザード 1/3 ・Excel のリスト/データベース ・ピボットテーブル をそれぞれ選択 ウィザード 2/3 見出し行を含めて、全ての名前と果物を選択 (自動で選択されるかもしれません) ウィザード 3/3 ・新規のワークシート を選択 「レイアウト」をクリック(「完了」ではなく) 新しく開くダイアログの右端に「名前」「果物」と書いてあるボタン? みたいなものがあるので、 「行」と書いてあるところに「名前」をドラッグ 「列」と書いてあるところに「果物」をドラッグ 「データ」とかいてあるところに「果物」をドラッグ で、「OK」して、「完了」すると、集計された表が出てきます。 ちなみに、ピボットテーブル内に住所を割り込ますことはできないみたい なので、表を別のところにコピーして、そこで所望の表を得ればよいと思 います。 例えば、 りんご とまと みかん いちご 総計 鈴木さん 1 1 1 3 住所 山田さん 1 1 住所 田中さん 1 1 1 1 4 住所 こうゆう表はピボットテーブルに住所をVLOOKUPで参照させて合体すれば、 すぐにできますから、これの列の順番を入れ替えただけのシートを作成す ればよいでしょう。 (もちろん =Sheet1!A1 のようにして参照させて作成できます) 今後もデータが増えるのであれば、それも考慮にいれて作成する必要があ るでしょう。その辺はご自身で考えてみてください。VLOOKUPを利用すれば、 うまく対応できるはずです。 ピボットテーブルは、今回のようなデータの個数の集計だけでなく、数値 データの合計や平均なども手軽に求められます。この機会に基本だけでも 覚えておくと今後も応用が利くと思います。 ちょっと難しい機能ですが、もう一歩ですのでがんばってください。
その他の回答 (3)
- K_Senryu
- ベストアンサー率100% (6/6)
#1 です。 この回答は、住所の部分についてのみ言及いたします。 所望のシートの作り方によりますが、シート1に入っている全ての人の名前 と住所を列挙したいのであれば、 名前の列は =Sheet1!$A1 というのを複写して、 住所の列は、 =CONCATENATE(Sheet1!$B1,Sheet1!$C1) というのを複写すればできるかと思います。 CONCATENATEは文字列を結合する関数で、引数はいくらでもつけられるので、 住所の作成はこれでできます。 所望の表が、たとえば、自分で"鈴木さん"と入力すると、その人についての 情報が出てくるようなスタイルのものであれば、VLOOKUPを使います。 ちなみに#2の方の補足に書かれている、VLOOKUPのセル番号固定ですが、 =VLOOKUP("鈴木さん",Sheet1!$A$1:$C$3,2,FALSE) というように、行・列の前に"$"をつけておくと、複写の際にも固定されます。 この場合は、行だけ固定すればいいので、 A$1:C$3 と書いても大丈夫です。 VLOOKUPについては、単一の列番号しか指定できませんので、複数のVLOOKUPの 結果を結合するか、結合した結果をVLOOKUPで持ってくるしかありません。 (表の作りにもよりますが)私なら後者を選択します。 シート1の表より右側の使わないところに、 =CONCATENATE(B1, C1) とやっておいて、出力したい表から、その列を指定するわけです。 こんな感じですかね。
お礼
ありがとうございます! シート1と シート2の複合表は出来ました!! で、、、ピボットテーブルで、次の作業に入るのですが、 ネットで探すと http://hp.vector.co.jp/authors/VA014071/tips/xl_pvt1.html こんな感じの説明があります。 私の欲しい表に加工するにはどんな感じですか。。。重ね重ね、、、m(__)m
- kakkysan
- ベストアンサー率37% (190/511)
まずリストが3000人のシートを名前で昇順に並べ替え。 鈴木さん りんご が入っているシートでvlookup を使って住所を照合させる。 ピポットテーブルを使えば、ご希望の表が出来ると思いますが?
お礼
回答ありがとうございます。 試行錯誤やってみます。
補足
質問です。 Vlookupで一つの枠を設定して、下のセルにも同じ条件を自動で入れようと思うと 検索の範囲のセル番号も1つづつ下にずれて、正しく表示されません。 これを固定する事できますか? ただし、検索値はそのセルの左のセルに変ってくれないと困ります。 もうひとつ、列番号は複数で選択できないですか? たとえば住所が都道府県、市町村、番地の3列に分かれて居る場合いなど、、、
- K_Senryu
- ベストアンサー率100% (6/6)
はじめまして。 おそらく、ワークシート関数のCOUNTIFや、ピボットテーブルと言った機能を 使えば実現できると思います。 しかし、現在、私のPCにはOfficeがインストールしていないので確認はで きませんし、数式の提示もできません。 とりあえず、これらの機能を調べてみて、やってみてください。 で、できなかったら補足していただければどうにかします。 よろしくお願いします。
お礼
回答ありがとうございます。 ちょっとやってみますね。
補足
#2の方に補足をつけました。 教えていただけましたら幸いです。 ビボットテーブルまで辿りついていません。 1つ目のシートに2つ目のシートの値を入れる事ばかり考えていて、逆を考えていませんでした。 目から鱗!
お礼
できました!!! ありがとうございました!! Excel歴10数年、、この機能を使ったのが初めてだったんです。 すごく面白くて、役にたちました。丁寧にありがとう御座いました。