- ベストアンサー
エクセル入力で項目別にシートに振り分ける方法を教えてください!
エクセルでの入力の時に シート1では全ての営業所をひとまとめにして入力 シート2以降では営業所別にシートに振り分ける方法がわかりません。 シート1(入力するシート) 1 営業所名 支出金額 項目 2 群馬支部 11980 雑費 3 長野支部 12080 交通費 4 群馬支部 19800 接待交際費 5 新潟支部 19800 接待交際費 シート2(群馬支部) 1 営業所名 支出金額 項目 2 群馬支部 11980 雑費 4 群馬支部 19800 接待交際費 入力する場所はシート1のみで シート2、3は営業部ごとの項目になっていて シート1に入力すると自動で各シートに 振り分けられるようにしたいのです。 これを解決できる方法とは、どのような方法があり そしてどうやれば出来るのでしょうか? お時間あるときにご返答頂けると嬉しいです。 どうぞよろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
関数のみで行う場合です。 シート1(入力するシート) A B C D 1 No. 営業所名 支出金額 項目 2 1 群馬支部 11980 雑費 3 2 長野支部 12080 交通費 4 3 群馬支部 19800 接待交際費 5 4 新潟支部 19800 接待交際費 VLOOKUP関数で処理するのでA列にNo.を入れてください。 ちなみにA2以降のA列に =ROW()-MATCH("No.",A:A,0) と入れると並べ替えをしても行番号が変わりません。 シート2(群馬支部) A B C D E 1 営業所名 データ数 総データ数 2 群馬支部 2 4 3 4 行番号 5 No. 営業所名 支出金額 項目 0 6 1 群馬支部 11980 雑費 1 7 2 群馬支部 19800 接待交際費 3 8 3 #N/A 各セルに次の関数を入れます。 B2:営業所名 ここをリスト化すると1枚のシートで全営業所が計算できます。 C2:=COUNTIF(Sheet1!B:B,A2) 群馬支部のデータ数を求める D2:=MAX(Sheet1!A:A) or =COUNTA(Sheet1!B:B)-1 総データ数を求める D5:0 D6:=MATCH($A$2,INDIRECT("Sheet1!$B$"&TEXT(E5+2,"0")&":B"&TEXT($C$2+1,"0")),0)+E5 非常に面倒な式ですが、シート1における営業所名の出現行を MATCH関数で出しています。単純に組むと一番始めしか出て来な いので次の行では前行で見つけたシート1での出現行の次から 検査する必要があります。 そのためINDIRECT関数で可変する範囲を設定しています。 A6:連番(シート1と同じ) B6:=IF(ISERROR($E6),"",VLOOKUP($E6,Sheet1!$A:$D,2,FALSE)) VLOOKUP関数で必要データを取り出します。 データがなくなるとE列の行番号がエラーになるので、そこは 表示しない(空白)ためのif文を加えてあります。 後は必要行コピーすれば完成です。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
関数では難しい問題です。 「指定した(例えば群馬支部を1つ指定して)、該当のものを別シートに出す。」でさえ関数では難しい。 データの該当数で、どこの(シートの)行に収まるか、変動するタイプの課題は関数では難しい。関数式を受けるセルに入れないといけないが、それが浮動するのですから。余程の工夫が要ります。 何度も毎日のように同じ質問がでて、繰り返し同じことを言っている。 この質問の新しい点は、各シートへ全データを振り分けることです。 各シートにそれぞれ作業列を持てば、「imogasi方式」でできそう。 「imogasi方式」はGoogleなどで、照会すればこのコーナーの質問と回答が出てくる。他の方の別の方法の回答も出てくる。 その中に関数だけで、作業列を使わない式が出ているものがある。 それを理解できれば使ったら。 ーー すっきりやるのは、1日分とかを入力が終った機会にVBAで振り分ける 方法です。VBAをできないで、データを整理するレポート以外の、業務(取引)関連の書類・表を作るのは難しい。 エクセルは基本は手操作の連続で目的を達成するものです。 フィルタ(別シートに結果を出せない)ー該当シートにコピー張り付けなどしか方法はないのです。 ーー VBAだが 昨日答えた http://okwave.jp/qa3457447.html はやや似ているところがある。
- redowl
- ベストアンサー率43% (2140/4926)
支部ごとのシートを作るよりも、オートフィルターを使うのが、ベターでは? (支部が増えればその数だけシートを作らなければならないのと それらに、埋め込む関数式でデータが無駄に増えます) オートフィルターの解説は、下記参照 www.kenzo30.com/ex_kisosyo/ex_ks_syokyu9_2.htm
お礼
そういう風に説明したんですが 上の指示でシート分けして欲しいとの事で・・。 すこし補足です。 各シートの試用期間を明記して無かったです。 シート1(入力するシート) ※ここは毎月新しいシートに変えます。 1 営業所名 支出金額 項目 2 群馬支部 11980 雑費 3 長野支部 12080 交通費 4 群馬支部 19800 接待交際費 5 新潟支部 19800 接待交際費 シート2(群馬支部) ※ここは1年間同じシートを使います。 1 営業所名 支出金額 項目 2 群馬支部 11980 雑費 4 群馬支部 19800 接待交際費 すこし複雑になってしまってもいいので これを解決できる方法を知っていましたら 是非教えて欲しいです! あつかましい質問で大変申し訳ありませんが どうぞよろしくお願い致します。
お礼
ありがとうございました! そうですか、これを実現させるのは結構手間がかかるんですね。 他にいい解決方法を見つけ、上と話し合いたいと思います。 皆様、どうもありがとう御座いました!