- ベストアンサー
エクセルでシート10の表からシート1から9の表に数値を自動抽出したい
エクセルでシート10の表からシート1から9の表に数値を自動抽出したいのですが、 シート10 TP店 TW店 NP店 TM店 9 8 4 2 シート1 売上 TP店 ?? シート2 売上 TW店 ?? TP店売上9 TW店売上8 NP店売上4 TM店売上2 です かなりデータが多く手作業ではなく関数で一発入力したいのです。つまりシート1から10までありシート1はTP店、シート2はTW店の個々の売上データが入っています。シート10に全体の売上データが入っていて、シート10を参照してシート一つずつにアナログで=Sheet1!A1をいれていく、又はコピーすると大変なのでシート1に入れる関数と他のシートの関数をすべて同じにしたいのです。で自動で店の売上を入力するような関数ありますか 以前質問した際に =IF($B$1="","",INDEX(Sheet21!$B$2:$E$5,MATCH($A2,$A$2:$A$4,0),MATCH(B$1,Sheet21!$B$1:$F$1,0))) と答えをいただきましたが、さっぱりわかりません。わかりやすく説明していただけるとありがたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>かなりデータが多く とありますが、本当にこういうデータ構造なのでしょうか? xl2007ならどうか知りませんが、それ以前のバージョンなら255個しかデータが入りませんし、個数の制約がなくても、こういうデータ構造を取るとは考え難いですが。 A列 B列 C列 日時 店舗 売上 以下行方向にデータが沢山... といった構造なら、あえてシート毎に分けず、ピボットテーブルを用いて、目的の店舗のデータの集計だけ切り替えて表示させる方が手っ取り早いと思います。 外していたらすみません。 >以前質問した際に という質問に、リンクを貼っていただけると回答者が理解しやすいと思います。 http://okwave.jp/qa3765924.html
その他の回答 (1)
- nine999
- ベストアンサー率44% (512/1140)
計算式を使う以上は、対象のセルに入力またはコピーが必要ですから、「=Sheet1!A1」であれ「=IF($B$1="","",INDEX(Sheet21!$B$2:$E$5,MATCH($A2,$A$2:$A$4,0),MATCH(B$1,Sheet21!$B$1:$F$1,0)))」であれ、最初はシート1から9に数式が必要ですよね。 分からないときは、あれこれ考えるよりも、原始的な方法をやってしまったほうが、結果早く済んだりします。 「=Sheet1!A1」こんな式で解決できる問題なら、それで良いと思いますよ。順番を入れ換えたりするのがややこしい場合、まずはそれでシート10から数字を写してきて、あとは、そのセルを参照して並べ替えると楽ですね。並べ替える部分は1から9のシートで同じにできるだろうし、コピーすれば良いだけです。 どうしても数式で解決しないのなら、マクロを使ってコピーする作業を記録させますが、数式でできるなら手順を分けて考えると楽になります。