• 締切済み

ひとつのエクセルデータを各シートに分けたい

エクセルのひとつのシートにまとめてあるデータを 部門ごとにシートへ分けたいのですが、 今現在コピー&ペーストでシートに貼りつけている状態です。 効率よく、シートごとに分ける方法はありませんでしょうか。 例)売上というシートに 1  A  B  C  D・・・ 2  なす 1 3  なす  2 4 かき  5 シート1(なす)に 1  A  B  C  D・・・ 2  なす 1 3  なす  2 なすだけの情報をひっぱる。 シート2(かき)に 1  A  B  C  D・・・ 2  かき 5 かきだけの情報をひっぱる。 以上のように、シートごとで分別したいのですが、 エクセル初心者の為、どのような関数や操作を行えば良いかが わからず困っています。 どなたかお解かりの方、お教え頂けませんでしょうか。 よろしくお願い致します。

  • can25
  • お礼率77% (14/18)

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 解釈が違っていたらごめんなさい。 質問にある、A列は品名だけで数値はB列に入っているのでしょうか? 一応そういうことだとして・・・ ↓の画像で説明させていただきます。 左側が「売上Sheet」で右側が「Sheet1」になります。 とりあえず「なす」だけですが他の品目も同様の方法になります。 Sheet1のD1セルに品名を入力するとそのデータが表示されるようにしています。 A列を作業用の列として使わせてもらっています。 A2セルに =IF(売上!A2=Sheet1!$D$1,ROW(A1),"") という数式を入れ、オートフィルで下へずぃ~~~!っとコピーします。 (Sheet1の数式が売上Sheetの1000行目まで対応できるようにしていますので、 そのくらいまでコピーしても構いません) そして、B2セルに =IF(COUNT($A$2:$A$1000)<ROW(A1),"",INDEX(売上!A$2:A$1000,SMALL($A$2:$A$1000,ROW(A1)))) という数式を入れ、オートフィルで列方向と行方向にコピーすると 画像のような感じになります。 他のSheetも同様の操作でできると思います。 以上、参考になれば幸いですが、 一つ気になるのがもしかして、品名が「なす」でも「なす1」や「なす2」があるのかなぁ~?って感じもしていますので その場合は他の方法を考えなければなりません。 どうも長々と失礼しました。m(__)m

can25
質問者

お礼

ご丁寧に、わかりやすい回答をありがとうございます。 明日職場で参照させていただき、実践させていただきます。 本当に助かりました!!ありがとうございますっ。

関連するQ&A

  • excelでデータを別シートに引っ張ってきたい

    excelで値を検索し、返す時、返す値の横にあるデータを違うシートのセルの下に一緒に引っ張ってきたいときの関数(方法)を教えてください。 素人なので分かりにくいと思いますが、お知恵をお借りしたいと思います。 あるデータのシートの検索値を別シートに持ってきたいのですが、シート1をシート2のようにしたいのです。 /は空白 例)シート1 /A B C D E 1(1) □ ○ ▽ ◎ 2 (2) ▼ ■ ◇ ◎ シート2 / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 分かりにくいかもしれませんが、 シート1の(1)(A1)を検索すると、シート2(B1)に□(これはVLOOKで引っ張ってこれるのはわかります。) 次にシート1の(C1)○をシート2の(B2)へ持ってきたいのです。シート1(D1)(E1)はシート2の(C2)(D2)へ。 しかもシート1のC列は空白セルもあり、シート1のC列が空白の場合、下にずれることなくシート1の(D1)(E1)はシート2の(C1)(D1)へ。下記<図a>のようになるようにしたいのです。 そして、シート2のA列に検索値として入力する(1)や(2)の値は連番ではなく、(2)の次に(5)に飛んだりします。(2)の行のC列にデータがあっても、(5)のC列にデータはないこともあります。<図b> <図a> /A B C D 1 (1) □ ▽ ◎ 2 (2) ▼ ◇ ◎ <図b> / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 5 (5) □ ▽ ◎ 6 (7) ▼ ◇ ◎ vlookとかCLUMN関数とか考えてはみたのですが、どうもうまくいきません。 毎回作成するデータなのですが、毎回コピペで作成しています。 とても面倒なので(1)を検索したらデータが一瞬で検索できるようにしたいと試みてはみたものの、私の知識では不可能でした。 関数では無理なのでしょうか。。。 関数はあまり詳しくないので分かりやすい方法があれば、教えていただければ助かります。 関数に詳しい方、よろしくおねがいいいたします。 関数にはこだわっていません。違う方法があればそれも含めておねがいいたします。

  • エクセルで複数のシートからデータを集計したい。

    エクセルで複数のシートから、あるデータを取り出し、別のシートに集計したいのですが、関数を入力すると莫大な量になってしまいました。 関数とは別の方法で集計する方法をご教授お願いします。 1日~31日のシートがあります。 シート1日内容は A   B    C    D      E     1  NO  原因(1) 原因(2)  原因(3)   2 101   10       15   (b2+c2+d2)  3 105   20   40       (b3+c3+d2) 4 108       20   100 (b4+c4+d4) といった内容です。 1日から31日のセルA2などは固定した数値でありません。 なんで、例えばA3に101が入っている場合があります。 集計シートは A   B    C    D      E     1  NO  原因(1) 原因(2)  原因(3)   2 101               (b2+c2+d2)  3 102               (b3+c3+d2) 4 103              (b4+c4+d4) のようになってます。 B2に=SUMIF('1日'!A2:A4,A2,'1日'!b2:b4)+SUMIF('2日'!A2:A4,A2,'2日'!b4:b4)+・・・・・が31日のシート分まで作成するとファイルが重くなりすぎてしまい困っております。 よろしくお願いします。

  • Excelでシート間のデータの抽出方法

    1つのブックに集計用のシートと、A店、B店、C店という各店舗別の売上シートがあります。 Sheet集計用のA1にA店のコード(A店は001、B店は002というようなコード)を入れると、Sheet集計用のB列の上期売上、C列の下期売上にSheetA店のB列の上期売上、C列の下期売上のデータが入るようにすることは可能でしょうか? Sheet集計用のA1のコード変更することによってデータを引っ張ってくるシートが変わる様にしたいということなんですが、Excelでどのようにすればいいかわかりません。 各店舗のシートのA1のセルにも、その店舗のコードが入力されています。

  • エクセルで複数のシートにまたがるデータを一枚にまとめる方法

    よろしくお願いします。 エクセルのシートが3シートあり、 シート1、シート2には従業員の名前、出勤日、売上高が一覧になっています。シート1、2の違いは月別となっています。 簡単に表にすると a,b,cという従業員がいた場合、 A列 B列 C列 a 4/1 3000 b 4/1 2000 a 4/2 4000 c 4/2 5000 b 4/3 2000 といったイメージなのですが・・・ それを今はそれぞれ月ごとに 人別にオートフィルターで検索し シート3に貼り付け人別の売上表にまとめています。 この場合だとシート1が4月シート2が5月の売上表だった場合、 シート3にaさんの4月5月の売上を一覧表にしています。 例では3人ですが、実際は人数が20人ほどいて、月別のシートも今後増えていきます。 シート3に検索条件aと入力したら シート2、3からVLOOKで値が抽出できるかとも試してみたのですが、 VLOOKは一番最上段のデータのみを抽出してしまうので断念しました。 今後の作業の効率化を考えると少しでも省略化したことを行いたいのですが・・・ なにかよいアドバイスがありましたらいただけると幸いです。

  • エクセルで50行ごとに区切ったデータをシートに分割したい

    エクセルで2000行ほどある一枚のシートを50行ごとに (1-50)(51-100)(101-150)…と分割して、一つずつ 新しいブックで保存する作業があります。 今までは50行ごとにコピーして新しいブックにペーストを 繰り返してましたが、大量にきたもので困ってます。 何か自動化などできないことでしょうか? ご回答お待ちしております。 参考にシートは以下のような形式です。   A  B  C  D 1  a  1   1  1 2  b  1   2  3 3  c  2   3  4 4  d  5   6  7 5  e  7   8  9 6  f  2   3  4  7  h  5   6  7 8  g  8   9  1 9  n  2   3  4 10 n  5   6  7 ・ ・ ・ 50 j  5   6  7

  • EXCELの関数で別のシートからデータを取り出す方法について

    こんばんは。 excelの関数で次のようなことができますか? sheet1 A     B   C 123 125 122 sheet2 A    B    C     D 122            りんご 123           みかん 125            バナナ 上記のようなデータがsheet1とsheet2にあります。 sheet1のC列にA列のセルの番号と対応した商品を sheet2のA列とD列に対応データから引用できますか? (となりに並んでいないデータです。) 関数的にはvlookup,index,matchとかを使うとよさそうですが うまくいきません。 解決方法を教えてください。 よろしくお願いします。

  • 違うシートにデータを抜き出したい。

    エクセルのシート2に    A   B   C    D 1 物件A ○  情報a 情報b 2 物件B -  情報a 情報b   3 物件C ○  情報a 情報b と、4行目以降もあります。 そして、シート3にシート2のB列で”○”となっている物件だけの表を作りたいのです。    A    B    C 1 物件A  情報a 情報b 2 物件C  情報a 情報b  この下にもどんどん続けていきたい。 ※シート2はシート1のデータがマクロによって表示されている。  例)シート1の物件Aが終了になると、シート2の物件Aが消えて物件Bが1行目に表示される。 ※シート2のデータはほとんどシート1のデータがマクロによって表示されている。  シート2に”○”と表示されるのもシート1に入力してるから。 ※このマクロを作った人はすでに退職していて、社内でこのマクロを解明できる人がいない。  ちなみに私はマクロ初心者です。

  • エクセル 別シートのアクティブセルのアドレス

    エクセルに詳しい方、教えてください。 (1) シートAのアクティブセルのアドレスをシートBのC20のセルに表示したい   (2) シートAのアクティブセルの内容をシートBのD20に表示させたい 以上、しーとBのC20とD20にはどんな関数を入れたらいいですか? よろしくお願いいたします。

  • エクセルの関数

    エクセルの関数 ですが、 SUMIF を使いたいのです。 シート1の 1行目には 見出しが入っています。 A2~A50に、A店 B店 C店 D店 がランダムに入っています。 B2~B50に、名前が入っています。 C2~C50に、売上の数字が入っています D2~D50に、すべてに 1 が入っています。 E2~E50には、ところどころに 1 が 入っています。 シート2に、SUMIFを使って、E2~E50に入っている 1 の人だけの 各店の合計を出したのですが、どうやったらいいのですか? シート2のA1にはA店 A2にB店 A3にC店 A4にD店 が入っています。 そうすると、シート2のB2には、 =SUMIF(Sheet1!A2:A50,A2,Sheet1!$C$3:$C$50) となるということでいいのですか? ですが、 これは、各店の全体の合計です。 やりたいのは、E2~E50に 1 が 入ってる人のみ 各店の 合計を シート2の B列にだしたいのです。 関数の方法を教えてください

  • エクセル(2003・2007)でデータ抽出し、別シートを作成するための

    エクセル(2003・2007)でデータ抽出し、別シートを作成するための関数を教えて下さい ●シート名:サンプルA                ●シート名:サンプルB   A  B    C   D  E・・        A  B     C   名前 日付1  日付2  備考      名前 日付1   備考 1 山田 2010/10/15 2010/10/10 ああ    1 鈴木 2010/10/18 うう 2 佐藤             いい       2 太田 2010/10/21 かか  3 鈴木 2010/10/18 うう     → 4 井上 2010/11/20 ええ 5 石田 2010/8/7 2010/10/7 おお 6 太田 2010/10/21 かか 具体的に上記のデータから【B列が本日から10日間以内かつC列がスペース】のデータのA・B・D行を別シートに作成する関数を教えて下さい よろしくお願いします ※なぜか文字がずれてしまってて、すいません・・・