• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL2000 関数について)

Excel2000関数でセミナーの売り上げを計算する方法

このQ&Aのポイント
  • Excelの関数を使って、セミナーの売り上げを計算する方法を教えてください。
  • 特別コース、一般コース、準特別コースの参加料が異なるセミナー参加申し込み確認についてです。
  • 単純に○の数に金額をかけるのではなく、数種類の料金を○にかけて売り上げを計算する方法が知りたいです。

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

  • ベストアンサー
  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.7

補足拝見しました。 最初の質問と全然違うじゃないですか^^; 最初からこう質問してくれれば、一発で回答が出たと思いますよ。 まず、Aコースの特別計のセルに =SUMPRODUCT(($B$2:$B$6="特別")*(C$2:C$6="○")) と入力してください。 (ただし、数式内の$6の部分2箇所は、実際の最終行に書き換えてください。) このセルを下方に3つコピーし、"特別"をそれぞれ"準特別"、"一般"、"無し"に書き換えてください。 この4つのセルを選択し、右方向にコピーすれば完成です。 あとこれは今後のためのテクニックです。 このような集計の場合、合計欄に「特別計」のように「計」の文字を入れてしまうと、上記で示したように、種類の数だけ式を手直ししなければならなくなります。 合計欄には「特別」「準特別」のように、そのままの値になっていれば、「特別」の計は =SUMPRODUCT(($B$2:$B$6=$B9)*(C$2:C$6="○")) で表すことができ、これを下方と右方にコピーするだけで済みます。 どうしても表示に「計」を付けたければ、「特別」から「無し」を選択して、セルの書式設定で「ユーザ定義」「@計」とすれば「特別計」のように表示できます。 頑張ってくださいヽ(^。^)ノ

myu2001
質問者

お礼

度々のご回答ありがとうございます。 ご教授の通りで無事に完結致しました。 また、何かあったらよろしくおねがいします^^

その他の回答 (6)

回答No.6

#5の追加です。 もしご質問の中でダブっている「準特別」が、記入ミスではなく、同じ 項目があった場合にはそれら足し込む、というのでしたら、更に H1 に =IF(COUNTIF($A$1:A1,A1)>1,"",SUMIF($A$1:$A$5,A1,$G$1:$G$5)) と入力して下方にコピーします。

myu2001
質問者

補足

ご回答ありがとうございます。 私の説明不足でご迷惑をおかけして申し訳ございません。 #2さまの補足をご参考に、もう一度ご教授頂けないでしょうか? よろしくお願いいたします。

回答No.5

A1:A5の各コースの料金が、上から順に 50,30,40,20,40 だとした場合ですが、 G1セルに  =COUNTIF(B1:F1,"○")*CHOOSE(ROW(),50,30,40,20,40) と入力して G5 までコピーします。

myu2001
質問者

補足

ご回答ありがとうございます。 私の説明不足でご迷惑をおかけして申し訳ございません。 #2さまの補足をご参考に、もう一度ご教授頂けないでしょうか? よろしくお願いいたします。

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

補足要求 (1)準特別が3と5で2回出てくるわけは? (2)この表そのものが、受講者1人についてのデータ なのか、複数の受講者の受講データをまとめたものですか。 (3)「4無し」とはなんでしょう。 (4)・>B~F列に書かれたのは、コースです。    ・>特別コースは参加料が50円で、準特別が40    円と 縦軸(列方向)か横軸(行方向)のどちらがコースですか B-F列は受講者ではないですか? 関数では解が出ているのでVBAでの解を上げます。 ツール-マクロ-VBEでVBE画面になり、そのメニューの挿入-標準モジュールで画面が出ます。そこに下記をコピーして貼りつける。 単価がG列に入れてますが、H列ならCells(i, "G") ->Cells(i, "H")のように変える。 For j = 2 To 6 'B列からF列まで->For j = 2 To 7 'B列からG列までに変えること。 Function aaa() t = 0 For i = 1 To 1000 '最多1000行まで If Cells(i, "A") = "" Then Exit For For j = 2 To 6 'B列からF列まで If Cells(i, j) = "○" Then t = t + Cells(i, "G") '単価はG列にあると仮定 End If Next j Next i aaa = t End Function そして合計を出したいセルに=aaa()と入れると金額合計 がでます。

myu2001
質問者

補足

ご回答ありがとうございます。 私の説明不足でご迷惑をおかけして申し訳ございません。 #2さまの補足をご参考に、もう一度ご教授頂けないでしょうか? よろしくお願いいたします。

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.3

1行目には項目名があって、質問のデータは2行目以降だとします。 H列に料金(H2=10、H3=20、、、H6=50)を入れます。 B7に =SUMPRODUCT((B2:B6="○")*1,$G2:$G6) と入れます。合っていたら、B7をF7までコピーします。 こういうことではないですか?・・・はずしてます?

myu2001
質問者

補足

ご回答ありがとうございます。 私の説明不足でご迷惑をおかけして申し訳ございません。 #2さまの補足をご参考に、もう一度ご教授頂けないでしょうか? よろしくお願いいたします。

回答No.2

理解不足の点もあるかもしれませんが、各コースの料金をB列に追加し、例えばAコースは、 50(特別)+準特別(40)+無し(20)=110と解釈して回答します。 (表の上と左は、行列番号です)    A    B   C     D      E     F     G 1      料金 Aコース Bコース Cコース Dコース Eコース 2 特別   50  ○     ○ 3 一般   30       ○    ○    ○ 4 準特別 40  ○    ○     ○     ○ 5 無し   20   ○      ○ 6 準特別 40         ○     ○   ○ Aコース(C列)の合計は、配列数式で求めます。 =SUM(($B$2:$B$6)*((C2:C6)="○")) と入力し、SHFT+CTRLを押しながら、エンターキーを押しますと、 {=SUM(($B$2:$B$6)*((C2:C6)="○"))} と表示されます。 あとは、フィルハンドル(セルの右下のくろぽっち)を右方向にドラッグして、 Bコース以降の合計を出します。 もし、内容で違っているところがあったら、補足してください。

myu2001
質問者

補足

ご回答ありがとうございます。 私の説明不足でご迷惑をおかけします^^; ●コースは4つあります。 ●コースの左には参加者の欄があります。  (端折ってしまい申し訳ございません) ●参加者は50名くらいです。 質問文と上記内容を総合して簡単に書かせて頂くと、    A    B    C    D    E    F     G 1 名前         Aコース Bコース Cコース Dコース   Eコース 2 山田   特別    ○     ○ 3 川田   一般          ○    ○    ○ 4 松本   準特別   ○    ○     ○     ○ 5 鈴木   無し     ○      ○ 6 大山  準特別          ○     ○   ○               ・               ・               ・      特別計   ?人   ?人  ?人   ?人      準特別計  ?人         一般計      無し計 と言った感じです。 各コースの合計を出したいのです。 B列と各コースが一致する物の合計を下に出したいのです。 度々よろしくお願いいたします。

  • RAPTsong
  • ベストアンサー率42% (74/175)
回答No.1

どこかに小計を持たせて、最後にサマリをとる

myu2001
質問者

お礼

ご回答ありがとうございます。

関連するQ&A