• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL2007です。1つのシートから複数のシートに項目ごとに振り分けることはできますか?)

EXCEL2007で1つのシートから複数のシートに項目ごとに振り分ける方法はあるか

このQ&Aのポイント
  • EXCEL2007を使用しており、1つのシートに項目をまとめていますが、項目ごとにシートを分けたい場合はどのようにすれば良いでしょうか。
  • また、将来のデータを自動的に振り分けることも可能でしょうか。
  • EXCELを初めて使用する初心者であり、基本的な関数の使用方法についても教えていただけると助かります。

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

  • ベストアンサー
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.5

更に修正: Sheet2以降のA2セルに =IF(Sheet1!C2=$A$1,ROW(),"") 下方向コピー B2セルに =IF(COUNT($A:$A)<ROW()-1,"",OFFSET(Sheet1!A$1,SMALL($A:$A,ROW()-1)-1,0)) 横方向Sheet1のデータがある列+1列までにコピー そのまま下方向へコピー 今度は短くて分りやすいかな

min-o-min
質問者

お礼

夜遅いですのに…本当にありがとうございます。 Sheet2の形なのですが,Aの列に来るのはなんの項目なのでしょうか? あーーーもう・・・理解できない自分にイラついてしまいます。。。 申し訳ありません。 お時間ありましたら,教えてください。 関数,ご自分で考えられてるんですね!!すごすぎます!!! わたしでも理解できそうです。がんばります!

min-o-min
質問者

補足

web2525様 質問者のmin-o-minです。 できましたぁぁぁ!ありがとうございました! 1つ質問させていただきたいのですが。 Aの作業用セルというのはどのような効果があるのでしょうか? 上司に提出する際,「これはなんだ?」と言われそうで・・・。例えば今Aの列にある作業用セルを1番右,Gの列に移動することはできるのでしょうか?

その他の回答 (5)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.6

>Aの作業用セルというのはどのような効果があるのでしょうか? ※Sheet1のデータ抽出行の抽出用です 例:A1に入力された抽出項目キーとSheet1の項目名が一致する行にその行番号を表示させています。 B列以降の抽出作業は表示された行番号を元に拾い出しを行っています。 >上司に提出する際,「これはなんだ?」と言われそうで・・・。例えば今Aの列にある作業用セルを1番右,Gの列に移動することはできるのでしょうか? ※A列事態を非表示にする事で見やすくなるかと思います、もちろん移動も可能です。 移動の時は列自体を選択(列番号のAをクリック)、データ部の黒枠をクリックしてそのまま移したい場所へドラッグしてください、異動後にA列を削除して完了、何処に移動しても列の表示を隠した方が見栄えは良くなります。

min-o-min
質問者

お礼

なるほど! ありがとうございました!! 早速参考にさせていただきたいと思います。 何から何までありがとうございました!! 助かりました(T_T)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.4

ついでに動作の説明: Sheet2のA列は作業セルです =IF(Sheet1!C2="","",ROW()*(Sheet1!C2=$A$1)) Sheet1のセルC2が空欄(データ未入力)の場合は空欄、データが入っている場合はA1と比較して集計する項目であればROW()関数で入力されたデータの行番号を返します、項目が一致しない場合は0を返します。 B2セル以降は =IF(COUNTIF(OFFSET($A$2,0,0,COUNT($A:$A)),">0")+1<ROW(),"" 現在のセル行がSheet1の抽出するデータ個数以上の行数の時に""(ブランク)を出力 後半部の OFFSET(Sheet1!A$1,SMALL(OFFSET($A$2,0,0,COUNT($A:$A)),COUNTIF(OFFSET($A$2,0,0,COUNT($A:$A)),0)+ROW()-1)-1,0)) Sheet1の各列から目的のデータを抽出 抽出方法は、A列で算出したデータ行を0を除く少ない方から順に取り込みその行数だけオフセットしたSheet1のデータを抽出しています。 もう少し整理するともっと単純な計算式で実現可能かとは思いますが、閃きのみでやってますので、だらだらと長くなってしまいましたw

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

確認:Sheet1のデータは1行目に各項目、2行目以降がーデータで間違いないですか? 一部計算式修正です Sheet2!A1セルに集計したい項目名 例:会費 Sheet2!A2セルに =IF(Sheet1!C2="","",ROW()*(Sheet1!C2=$A$1)) 下方向にコピー、ROW()の括弧の中は空欄ですSheet1のデータ数以上コピーしてください。 Sheet2!B2セルに =IF(COUNTIF(OFFSET($A$2,0,0,COUNT($A:$A)),">0")+1<ROW(),"",OFFSET(Sheet1!A$1,SMALL(OFFSET($A$2,0,0,COUNT($A:$A)),COUNTIF(OFFSET($A$2,0,0,COUNT($A:$A)),0)+ROW()-1)-1,0)) ちょっと長いですが、エラー処理もしています、範囲指定の変更無しで何処までも範囲を増やすことが可能になっています。 Sheet3以降はSheet2をSheet自体コピーしてそのまま貼り付けて各シートのA1セルに集計したい項目名を入力で行ける筈です。 エラーにはならないはずですが、Sheet1のデータ内容が私の認識と違っているのかな?

min-o-min
質問者

お礼

Sheet1ですが,質問した際の形と同じです。 Aに月,Bに日,Cぶ項目,Dに内容,Eに収入,Fに支出,Gに残高となっています。 どのような順番に変えればよいでしょうか? 何回も何回も申し訳ございません。 お時間ある時で構いませんのでよろしくおねがいいたします。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

一例ですが、 Sheet2の A1に 集計したい項目 B1から横に 月 日 項目 内容 収入 支出 残高 A2に=ROW()*(Sheet1!C2:C5=$A$1) 下方向コピー B2に =OFFSET(Sheet1!A$1,SMALL($A$2:$A$5,COUNTIF($A$2:$A$5,0)+ROW()-1)-1,0) H15までコピー 集計の範囲を広げれば増えた分も対応していきます。 エラー処理はしていないので条件付書式でエラーを白文字に変更してください。

min-o-min
質問者

お礼

回答ありがとうございました! さっそくやってみました。が,エラーがでてしまったのです。 A2=ROW()*Sheet1!C2:C5=$A$1)で,ROW()の()の中には何かいれるのでしょうか? 重ね重ね質問で申し訳ありません。お時間あれば,回答お願いいたします。

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

今のままのリストの形態ですと、関数だけではできないのではないでしょうか。 補足ですがキーワードを検索するという関数は存在します、縦方向検索のVLOOKUPと横方向検索のHLOOKUPです。 関数だけで何とかしたいということであればVLOOKUP関数を使えるようなリストを考える必要があります。 手動でもかまわないのであれば、オートフィルタを使用し、会費のみを抽出してコピペする方法が最も簡単でしょうか。 自動で行う場合はマクロ(VBAという言語のプログラム)を組む必要があります。

min-o-min
質問者

お礼

回答ありがとうございます! マクロ,ですかぁ・・・。私にはちょっと荷が重く感じてしまいますねぇ。もっと勉強が必要,といったところでしょうか。 上司に「自動的に移動できるようにしてこい!」と言われ・・・。この3連休で少し勉強したいと思います。