公式アカウントからの投稿が始まります

1ヶ月分の請求書を1つのファイル(Book)に作成し、保存しています。
1シートごとに1請求書を作成しているのですが、最後のシートに、1ヶ月分の集計をまとめたものを作成しようと思い、全部の売上合計を、3D集計で作成しました。

その他、各会社ごと(会社名で検索)の売上げや、売れた商品ごと(商品名で検索)の集計なども作成できればと思っているのですが、思うようにいきません。
どのような式を作れば、うまくいくでしょうか?

また、1ヶ月分の集計を出している部分も、シート数が毎回変わるため、[Start]と[End]というシートををわざわざ作成し、その中に請求書シートを作成するようにしています。
これももっと良い方法があればぜひ教えてください。

どうぞよろしくお願いします。

A 回答 (2件)

以前の質問に対し同じことを言ったのですが、同じようなことを質問している。

エクセルで合計や平均やその他を抜き出したりしたいときは、出来れば1つのシートに「テーブル形式」(やリスト形式)で保存するために仕組みを変えることです。
テーブル形式(2007以後)やリスト形式(-2003)はWEBで照会して勉強してください。
実はエクセルの気の利いたデータ処理は(関数も含め)、ほとんどの機能がこれを前提にしてます。
請求書のイメージ状態にして多数シートにしてしまうと、エクセルでは処理が大変になります。加算1つをとっても、集計するセルの位置が請求書の中でバラバラになったりして、手に負えなくなります。式の複写もままならなくなります。
質問者はシステム的なものを作った経験が無いのに、あれこれやをやろうとするからです。エクセルでは気の利いたことは出来ません。だからエクセルであれこれやっている人を聞くと、間違った道具選択で背伸びしているなあと思います。
こういう質問をするということは、エクセルの経験を十分積んで、壁に当たって、エクセルの限界に、まだ気づいてない証拠です。
ーー
質問者がやろうとしていることを自然にするには、データベースソフトなどでやるのが普通です。
もっと言うならば、お金を出して(エクセルの延長ではなくて)専門家にやってもらう分野と思います。素人が手を出せるのには限りがあります。
そうしないなら質問者なりがVBAでも出来るようになることです。
ーー
本件について言えば、
(1)データの集約は1シートに行い、印刷する請求書はその都度派生物と考えるべきです(計数集計などには使わない)。
計数集計などは元のデータシート(出来れば1月分など1つ)で関数を使ってでも処理すべきです。
ーー
(2)印刷する請求書は、元データから1ページ分を作成し、印刷する時のその場限りに、します。
次ページの印刷が前ページのセル範囲に設定します。
但し印刷の指示をその都度出すには(セル範囲をクリアするには)1行ずつだけのVBAコードが最低必要ですが。
ーー
Googleで「imogasi 請求書 折衷」で照会すれば、沢山回答記事があるのですが、メイン解説がドレだったか判からなくなっている。興味あれば捜してみて。
    • good
    • 0

そういうことが出来る計算方法はありません。


配列数式でゴリゴリやる手も無いではありませんが,むしろマクロを使って自作関数(ユーザー定義関数)を作ってしまった方が簡単です。

サンプル手順:
ブックを開く
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

public function mySumif(a as range,b as string,c as string,d as variant,e as range)
 dim w as worksheet
 dim f as boolean
 application.volatile
 for each w in worksheets
  if w.name = b then f = true
  if f then
   if w.range(a,address) = d then
    mysumif = mysumif + w.range(e.address)
   end if
  end if
  if w.name = c then exit for
 next
end function

ファイルメニューから終了してエクセルに戻る


使い方:
=mysumif(条件セル,開始シート名,終了シート名,条件値,合計セル)

使用例
=mysumif(A1,"Sheet2","Sheet13","abd社",E1)
左から順に見てシート2(と言う名前のシート)からシート13までにあるシートで,A1セルがabc社だったときにE1を合計します。「Start」シートと「End」シートに挟んでも勿論構いません。


#一ヶ月分の仕事が終わったら,ブックを複製し,請求書シートを削除してまた新しい月の集計を行うこと




#補足
必要に応じて,ご利用のエクセルのバージョンに応じた方法でマクロを有効にすること
必要に応じて,アドインなどにして利用すると良い
それぞれの具体的なやり方が調べても判らない時は,ご利用のエクセルのバージョンを明記して別途新しいご相談を投稿し問題を解決してから,作業を行ってください。

#補足
何か「違うこと」がやりたくなったら,また違うマクロを新たに書き起こすことになります。もしそういう事を思いついたときは,「ついでにお願い」は止めて(そういうご相談者さんがすごく多いので)また新たなご質問として,「こういう状況でこういう事がしたい」とキチンと書き起こして,ご相談を投稿してみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!