プロが教える店舗&オフィスのセキュリティ対策術

エクセルで、フォームにあるチェックボタンを使います。で、チェックの入ったものだけについて合計を出したいのですが・・・
例を書きます。
  
    A       B       C
1  品名     チェック欄     数量
2   あ       ○       10
3   い               20
4   う       ○       30
5   え               40
6   お       ○       50
7                   90
  ここであ,う,おにチェックが入っているので
  10+30+50=90の計算をさせたいのですが。
  チェックのあるものだけの合計をC7に表示させたいのです。
  チェックボタンでIF関数を使うにはどうしたらよいのでしょうか?
  

   

A 回答 (3件)

こんばんは!



フォーム のチェックボックスの例です。

チェックボックスをB2~B6へ配置

 B2のチェックボックス上で 右クリック 書式設定
 コントロールタブ リンクするセル欄に B2

以降
 B3~B6まで同様の作業
 それぞれリンクするセル B3~B6と記入

 面倒ですが1つずつ設定する必要があります。

セルC7に数式 =SUMIF(B2:B6,TRUE,C2:C6)

動作が確認できたら
セルB2:B6を選択 フォントの色を白に設定

こんな感じでどうでしょうか!試してみて下さい!

<チェックボックスの書式設定>
他にも 3D表示させたり
指定の色で塗つぶしたり、枠線をつけたりも可能です。

この回答への補足

ありがとうございました。思い通りのものができました!ついでにもうひとつ。先ほどの表のチェックは出荷したかどうかのチェックです.元の表は受注日の順になっています。もちろん出荷日の欄もあります。これを出荷日毎に並び替えてかつ、毎日の集計も(受注数,出荷数)したいんです。刻々とデータはかわっていくのですが、常に日毎の集計が出ているように表をつくりたいのです。画面を見るたびに日付順に並び替えることをしなくてもいいように。こんな説明でわかりますか?

補足日時:2001/09/29 00:05
    • good
    • 0

こんばんは!



>毎日の集計も(受注数,出荷数)したいんです

表の構成がわからないので単純な以下の表で説明します

----SHeet1------------------------
  A     B     C     D
1 品名   受注日   出荷日  数量
2 あ    2001/*/* 2001/*/*  **
3 い    2001/*/* 2001/*/*  **


n あ    2001/*/* 2001/*/*  **

----SHeet2------------------------
  A   B    C
1 品名 日付   受注数量 出荷数量
2  ? 2001/*/1  式1   式2
3    2001/*/2   ↓    ↓

品名を無視して数量の合計をしてよいのであれば
式1
 =SUMPRODUCT((Sheet1!$B$2:$B$n=A18)*(Sheet1!$D$2:$D$n))

式2
 =SUMPRODUCT((Sheet1!$C$2:$C$n=A18)*(Sheet1!$D$2:$D$n))

nは最大想定行でOKです。

同様の数式で特定期間の集計や品名の集計なども簡単に行えます。

お考えのものと違ったらスミマセン!

この回答への補足

回答ありがとうございました。SUMPRODUCTは積の和を返すのではなかったかしら?
勉強不足ですので、すみません。お答えのSheet2はSheet1を日付順に並べ替えたものですか?それならDSUM又はSUMIFではどうでしょう?

最終的に何をしたいかをまず言わなくてはいけないですね。
私の会社(工場)ではコンピュータで受注が入ってきます。数社とネットワークで結んでいて,各社からの受注がコンピュータ上に一覧表で表されています。ですからデータは毎日更新されます。納期の変更、数量の変更などもあります。受注の日付順に並んでいますから、当然納期はバラバラです。このデータから納期日毎の受注合計数を出したいと思っているのです。私の会社ではパソコン触れる人がいませんので、面倒な操作なしで、たとえばボタンひとつで「今日はAを○個、Bを△個作ればいいんだな」とわかるように。それで昨日お聞きしたチェックボタンも使えれば、出荷済の合計(未出荷の合計でもよい)もわかり、あとどれだけ今日つくればいいかもわかり・・・・というわけです。ネックは元のデータが納期順になっていないということです。画面にカレンダーを表示してクリックするとか・・なんかいいアイデアありませんか?

補足日時:2001/09/29 20:41
    • good
    • 0

こんばんは



>SUMPRODUCTは積の和を返すのではなかったかしら?
試されてみてからの回答でしょうか?
ヘルプをご覧になったようですが肝心な箇所を読み逃し
ているような・・・・配列関数であることを利用した
もので複数の条件を選り分けて、和を求められます。

>お答えのSheet2はSheet1を日付順に並べ
>替えたものですか?
違います。
ランダムに並ぶご希望通り指定した日付に合致した
ものを抽出して合計するものです。

>DSUM又はSUMIFではどうでしょう?
DSUMは同様の結果を得られますが条件を別セルに
記載する必要があります。
SUMIFは今回の例の場合、同じですが条件が複数
****/*/* で かつ 商品A の場合の合計
や ****/*/*~****/*/* の間の合計
などでは使えません!

>画面にカレンダーを表示してクリックするとか・・
同計算式は、Sheet2のB列をカレンダー上にして
使う事を想定して立てた式です。
あとは応用だけですが・・・・!

試されずに他の関数を希望され、指定されていると言う
ことはご希望に敵わなかったと判断します。
これにて私は、降りますので他の方のご意見をお待ち
下さい!

この回答への補足

素人のくせに生意気なことを言ってすみませんでした。怒り心頭というのが痛いほどに感じられました。試してみたのです。お答えによるとSheet2は日付順に並べ替えたものではないんですね。 ”ランダムに並ぶご希望通り指定した日付に合致したものを抽出して合計するものです。” ということですが、Sheet2がどのように作られたのかわからず、教えていただいたようにsheet2を作り式を入れてみたのですが何も起こらず、ゆっくり考えてみようと思いました。 ”お考えのものと違ったらスミマセン!”とありましたので取り敢えずお礼とこちらの求めているものをお知らせしようと思ったわけです。DSUM又はSUMIFがこの場合適さないこともよく分かりました。ありがとうございました。

補足日時:2001/09/29 23:52
    • good
    • 0

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