- ベストアンサー
エクセルの再集計について
- エクセル2003を使用して、特定の曜日のみの集計を別シートで行いたいと考えています。ピボットテーブルではメモリ不足のためうまくいかず、別シートでの参照方法を模索しています。
- 提供されているデータは縦20項目+集計、横8項目で、各項目ごとに1ヶ月単位で集計しています。しかし、月曜のみの1ヶ月の集計や火曜のみの集計など、曜日ごとに別シートで集計したいと考えています。
- シートを追加して項目ごとに参照させる方法は可能ですが、手間が膨大です。また、串刺しをして集計する方法もありますが、手間がかかります。1年分のデータだとさらに手間が増えますので、より効率的な方法を模索しています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>G日と打ったら、='G日'!A33 ,='G日'!A34 ,・・・ INDIRECT関数を使用します。 1. シート名が 1日、2日・・20日 のようになっています。 2. A1セルに数字で日を指定するものとします。(例:1日なら1、10日なら10) 3. A1セルで指定した日のシートからA33を参照する以下の計算式をB1セルに =INDIRECT( $A1 & "日!A33" ) これで、A1セルに 1 と入力すれば、B1セルには ='1日'!A33 、つまりシート[1日]のA33セルの内容が表示されます。
その他の回答 (3)
- KenKen_SP
- ベストアンサー率62% (785/1258)
>*水* と入れると水曜日のページを拾って... No.1の方への補足でありましたこの件ですが、 *水* でデータを検出するためには、どこかに *水* で検索をかけられるデータが必要ですね。このデータがあれば、やれなくはないですが、非常に面倒で、VBAによる方法になりそうです。 提案ですが、1日1シートという作りそのものを変更できませんか? つまり、1ヵ月分全てのデータを1シートに集積する作りにします。この方が、データの加工が容易です。 イメージとしては、既存データのA列に行を追加し、日付を入力します。 例えば、シート[1日]では、 1. A列に空の行挿入 2. A列に日付(例:2005/2/1) 3. それをデータの終端行までコピー 以上の操作をシート[2日]でも行い、そのデータをシート[1日]の末尾にコピーして書き足します。それを月末日のシートまで繰り返し、シート[1日]に1ヶ月分のデータを集めます。 こうすることで、2005/2/1 だけのデータを表示したければ、オートフィルターで抽出できまし、同様に水曜日だけのデータも簡単に抽出できるようになりますよ。 また、ある条件で抽出したデータの集計もSUBTOTAL関数で簡単に行えます。
お礼
御検討いただきありがとうございました。 諸事情により、フォーマットの変更が難しいため 今回は参考とさせていただきます。 ありがとうございました。
- KenKen_SP
- ベストアンサー率62% (785/1258)
やりたいことは判るのですが、集計元となるデータがどのような形なのかイメージできません。 >データ項目が 縦20項目+集計、横8項目... >それぞれの項目ごとの集計を1ヶ月単位で... これは、集計元データの話ですか?それとも集計後の話ですか? 集計元データがどのようになっているかを補足願います。
お礼
説明不足の中、一生懸命考えていただきうれしく思います。またの機会には、うまく説明できるようにがんばります。今回は、ありがとうございました。
補足
御検討いただきありがとうございます。 一日が一枚のシートとなっております。 一日の集計された欄が、31枚同じ位置にあります。 それを、曜日ごとに再編集を別のシートに打ち出したいと思います。(bookになっています) できたら、 G日 と打ったら、='G日'!A33 ,='G日'!A34 ,・・・ といったような書式(ワイルドカード対応)にして 各セルには、ワイルドカードに連動して、指定日のセルを自動的に参照するものがないか探しています。 ひとつづつ入れると数がある為とても大変ですし、 間違いも出やすいので、ひとつご教授いただけると大変助かります。 よろしくお願いします。 説明が下手で失礼しました。
- SAKURAMYLOVE
- ベストアンサー率30% (162/533)
オートフィルターとSUBTOTALを組み合わせてはいかがでしょうか。 【手順】 (1)曜日含む項目とデータを選択し、オートフィルタ(データ/フィルタ/オートフィルタ)をかけます。 (2)集計したい最終行に以下の式を入れます。 もし、B列に2~100行までデータが入っていれば、101行目に =SUBTOTAL(9,B2:B100) とします。 (3)フィルタで例えば月曜日を指定すると、合計(SUBTOTAL)は、月曜日のみの合計となります。 そのほか、SUMIFを使う方法や、配列数式を使う方法もあります(きっと他の方から回答があると思います)が、これが手っ取り早いと思います。
お礼
一つの利用方法として勉強させていただき間す。 ありがとうございました。
補足
大変説明が下手ですいません。 1ヶ月 4週 ありますので、各曜日ごとに拾い出しをしたいと考えております。(12か月分) 曜日変動にたいして、マルチに対応させたいと思っています。 できましたら、 ワイルドカードのような感じで、たとえば *水* と入れると水曜日のページを拾って 決まった位置にあるデータを別紙に拾い出す、 集計はそのページにて再集計をするような感じにしたいと思っています。 説明が下手ですいませんが、 ようは、 ワイルドカードで拾って、 あるページのデータ(定位置)を新たに参照or持ってくる関数もしくは命令コマンド&使い方(組み合わせ方)を模索しています。 よろしかったら、御教授ください。
お礼
ありがとうございました。早速利用させていただきます。