• ベストアンサー

エクセルで表を作りたいです

受注管理表をエクセルで作りたいですが、よい方法を教えてください。 1シートは、加工品、2シートめは、正規品、3シートめは、1シートと2シートの加工品、正規品ごとの月別売上の合計を出したいです。 1.2シートには、受注日、出荷日、品名、単価、合計の列を作っています。 1月に受注したとしても、出荷月は、バラバラです。 売上額は出荷日ベースで集計したいです。 いい方法がありましたら、よろしくお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えばシート1は加工品でA2セルには受注日、B2セルには出荷日、C2セルには品名、D2セルには単価、E2セルには合計の文字が入力されており、下方にはそれぞれのデータが入力されているとします。 そこでデータ数が多い場合に計算にも負担を掛けない方法は複雑な式を使うのではなく、分かり易い簡単な式を作業列に入力して対応することです。 例えばF3セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B3="","",YEAR(B3)&"/"&MONTH(B3)) シート2は正規品の表で構成はシート1と同様で、F3セルへは上の式を入力して下方にオートフィルドラッグします。 まとめのシートをシート3に作成するとしてA1セルには年月別売上合計とかの文字を、A2セルには年月、B2セルには加工品、C2セルには正規品、D2セルには合計売上額とでも入力します。 A3セル以下には例えば2011年1月のデータを求めるのでしたら2011年1月と入力します。このようにすることで数式バー上には2011/1/1のように表示されるでしょう。A3セルを下方にドラッグ売れば連続した年月が表示されます。 B3セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR($A3="",COUNTIF(Sheet1!$F:$F,YEAR($A3)&"/"&MONTH($A3))=0),"",SUMIF(Sheet1!$F:$F,YEAR($A3)&"/"&MONTH($A3),Sheet1!$E:$E)) C3セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR($A3="",COUNTIF(Sheet2!$F:$F,YEAR($A3)&"/"&MONTH($A3))=0),"",SUMIF(Sheet2!$F:$F,YEAR($A3)&"/"&MONTH($A3),Sheet2!$E:$E)) D3セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNT(B3:C3)=0,"",SUM(B3:C3))

rossdiana
質問者

お礼

詳しく解説していただきありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

質問はシートのデータ例をあげて質問するもんだ。 文章だけで書くのが、一般的でよいと思うのは、学習の過程では、間違い。具体例で理解して、一般化する野がよい。 >、よい方法を教えてください なんて問題でなく、見出しを第1(2)行目に入れて、その次の行からデータを入れたらしまい。 どういう項目を入れる(入れられる)かは質問者が一番知っている。 データができたら、金額合計を出せばしまいだろう。その合計で出す際には条件がついっているよね。 それは何か。はっきり「何々別何々」などと質問に書くもんだ。 集計して意味のあるのは(件数は別にして)「合計」ぐらいしかないよね。 また「月ごと」に出したいらしいが、月ごとというのは条件としては日付を見て、その月の1日より大きく、来月1日未満の数が該当する(日付はエクセルでは数になっているのだが知ってますか。日付シリアル値という)。で判別すればよい。 この質問もエクセルのバージョンが書いてないが、2007以後では(複数条件で集計する)SUMIFSという関数が便利だ。 ーー しかし関数でやりたいのだろうが、ピボットテーブルでできないか考えるのが、機動性がよく、バリバリのビジネスマンはこちらを活用するのではないかな。 >月別売上の合計を。・・ こんなのはわざわざ書かなくても、出荷日の列のデータで判別したらしまいでしょう。

rossdiana
質問者

お礼

どうもありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

現在は、加工品と正規品でシートを分けているようですが、データベースと使用する場合は、加工品と正規品を指定する列を挿入して、これらを1枚のシートに統合することをお勧めします(もちろん、シートが分かれていても同じように集計することができます)。 このようなデータベースを作成しておけば、加工品と正規品ごとのデータはオートフィルタの機能で簡単に表示できますし、ご希望の月ごとの集計も、ピボットテーブルや簡単な関数を使って実行することができます。 関数を利用するなら以下のような関数を利用することになります(以下シートが分かれている場合で説明:添付画像参照)。 例えば、Sheet1の合計を集計するなら、Sheet3のA2セル以下に「月」の数が入力されている場合、B2セルに以下の式を入力して下方向にオートフィルします。 =SUMPRODUCT((MONTH(Sheet1!$B$2:$B$1000)=A2)*(Sheet1!$E$2:$E$1000)) また、ピボットテーブルを利用するなら(シートが分かれている場合も同様の操作)、以下のような操作になります。 Excel2003までの操作法で説明すると、Sheet1を選択し、「データ」「ピボットテーブル・・・」(2007なら挿入タブのピボットテーブル)、でウィザードを起動し、行フィールド(行ラベル)に「出荷日」、データフィールド(Σ値)に「合計」をドラッグして、「完了」します。 行フィールドの上で右クリックし、「グループ化とグループ化の詳細」から「グループ化」を選択し「月」を選択してください(年がまたがる場合は「年」も選択)。 これでSheet1の月ごとの集計が簡単にできます。 加工品と正規品の区分けの項目列を挿入したなら、この列を列フィールドにドラッグすれば簡単に一覧表が作成できます。 #今回の回答はひとまず、すべてのバージョンに対応できるような関数などを提示しましたが、Officeソフトはバージョンによって、使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

rossdiana
質問者

お礼

詳しく解説していただきありがとうございました。

  • bobo08
  • ベストアンサー率22% (2/9)
回答No.1

質問の内容をみてみると、エクセルを使用しての表作成自体、そんなに難しい表ではないような気がします。 本屋さんに売っている、エクセルの本(今はコンビにでも売ってたと思います)を参考にすれば、結構いい感じの管理表が出来ると思いますよ。 まずは、本屋かコンビニへGo!です。 計算式を使ったことがあるのであれば、立ち読みレベルで出来ると思いますよ。 頑張ってチャレンジしてみてください。

rossdiana
質問者

お礼

ありがとうございました。

関連するQ&A