- ベストアンサー
Office2010でマクロを使用して売上明細からサマリー表を作成する方法
- Office2010でマクロを使用して、指定日ごとに別のサマリー表を作成する方法を教えてください。
- サマリー表には、商品番号、名称、数量、単価を起票したいです。
- また、カテゴリーごとに欄を分けてサマリーを作成したいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>さっそくやってみましたがどうもうまくいきません 「うまくいきません」ではなく、どのような数式を入力したら、どのような結果がでたのか具体的に説明しましょう。 たとえば元データがSheet1にあるなら以下のような数式で表示できます。 =INDEX(Sheet1!C:C,SMALL(INDEX(((Sheet1!$A$2:$A$100<>$J$1)+(Sheet1!$B$2:$B$100<>$L$1))*10000+ROW($A$2:$A$100),),ROW(1:1))) >明細とサマリーは別シートになっていますが、ご参考にいただきましたサマリーでたとえば日付ごとの靴の販売明細、バックの販売名を行を分けて表記も可能でしょうか? 実際の商品データの内容が不明で、かつ、どのような目的で日付ごとのデータを表示したいかよって合理的な操作が違うのですが、最終目的が商品ごとの集計をしたいならピボットテーブルを使うこともできます。 また、日付(J1セル)だけを指定してカテゴリーも含めて抽出したいなら、以下のような関数で表示させることもできます(目的が表示するだけの場合)。 =INDEX(Sheet1!B:B,SMALL(INDEX((Sheet1!$A$2:$A$100<>$J$1)*10000+ROW($A$2:$A$100),),ROW(1:1)))&"" 実際のデータ内容がと目的が不明のため、ひとまず汎用性のある数式にしてみましたが、上記の数式の場合も、データ数が多くなるとシートの動きが重くなるので、数式を工夫する必要があります。 まとめたいシートのレイアウトは、たとえば10行ごとにカテゴリー名が入力されているなどの条件があれば、1つの数式で、すべてのカテゴリーの項目を抽出する数式を作成することもできます。 #このようなご質問では、実際のデータのレイアウトやまとめたいシートのレイアウトなどを「目的を含めて」具体的に例示されれば、みなさんから目的にあった的確な回答が寄せられると思います。
その他の回答 (1)
- MackyNo1
- ベストアンサー率53% (1521/2850)
たとえば同じ日には元データの構成によって、最も合理的な対処があると思いますが、1日だけのデータの表示なら(表示データ数が100件程度なら)以下のような関数で対応するのも選択肢の一つです。 添付画像のように抽出したい日付がJ1セル、カテゴリーがL1セルに入力されているなら、I5セルに以下の式を入力して右方向に4つ、下方向に適当数オートフィルしてください。 =INDEX(C:C,SMALL(INDEX((($A$2:$A$100<>$J$1)+($B$2:$B$100<>$L$1))*10000+ROW($A$2:$A$100),),ROW(1:1))) 最後にセルの書式設定で表示形式をユーザー定義にして「G標準;;;@」と設定してみてください。 上記の方法でデータ範囲が大きく、表示データ数が多い場合は、シートの動きが重くなるので、マクロで対応するほうが合理的です。 この場合は、基本的に日付およびカテゴリーで絞り込むフィルタの操作をマクロで記録して、日付部分とカテゴリーの部分のコードをセル番地に修正するようにコードを編集してください。
補足
ご連絡ありがとうございます さっそくやってみましたがどうもうまくいきません 明細とサマリーは別シートになっていますが、ご参考にいただきましたサマリーでたとえば日付ごとの靴の販売明細、バックの販売名を行を分けて表記も可能でしょうか? 可能でしたら作っているWork Sheetをみていただいたら悪い点がわかるかと思いますが、Work sheetを見ていただくことは可能でしょうか?お知恵、ご連絡をいただき、甘えてしまいしまい申しわけございません