[[20151007162547]] 『一日の売上をまとめて、利益計算する。』(リョウジ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『一日の売上をまとめて、利益計算する。』(リョウジ)

売上の計算(利益)を自動化したいです。

1.日付〜家電セルまで、日付けと金額を入れるとN・O列に金額を反映させる。(A列・J列)
2.家具は、2000までは売上500とし 2000以上は1000。(I列→O列)
3.書籍は幾らでも100。それ以外はそのままの金額を反映する。
4.家電は、売上金の30%で計算します。(J列→P列)
5.同じ日付は、まとめて合計を出す。

宜しくお願い致します。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 ↓のように表形式で提示されたらわかりやすいと思います。

[[20151002150327]] 『(IF関数を使った)月別合計の出し方』(ぺもと)
(カリーニン) 2015/10/07(水) 17:25


日付   仕入   青果    肉    魚   書籍   雑貨  消耗品   家具   家電   小計   TOTAL   日付   売上   家電30%   固定費   利益累計
10/1   山田   100   200   100   500     100   200     1,000    500   2,700   2,700    10/1   2,400   240             2,640
10/1   佐藤   100   500    100   200                2,500    300    3,700    6,400    10/2   1,300   60             4,000
10/2   佐藤  300   500   200        100   300     800   200   2,400   8,800    10/3                       4,000
10/5   鈴木   500   100    200        100         5,000    400    6,300    15,100    10/4                        4,000
                                                                    10/5   1,600    120            5,720

自動で集計しN(売上)O(家電30%)に金額を入れたいのです。
宜しくお願いします。

(リョウジ) 2015/10/07(水) 18:27


 それぞれの日付の売上の金額が100円づつ違うような気がします。
 10/1の2,400、10/2の1,300の算定根拠をお示しください。
(カリーニン) 2015/10/07(水) 18:48

カリーニンさん

訂正します:N(売上)10/1 2,400→3,100
             10/2 1,300→1,900
             10/3 1,600→1,900

ご指摘の通りです、計算ミスってました。すみません。
宜しくお願いします。
(リョウジ) 2015/10/07(水) 18:52


 >1.日付〜家電セルまで、日付けと金額を入れるとN・O列に金額を反映させる。(A列・J列) 
 >2.家具は、2000までは売上500とし 2000以上は1000。(I列→O列) 
 >3.書籍は幾らでも100。それ以外はそのままの金額を反映する。 

 これは個人ごと、日付ごと、でいいですか?
(カリーニン) 2015/10/07(水) 20:00

カリーニンさん

日付ごとになります。

宜しくお願い致します。
(リョウジ) 2015/10/08(木) 09:56


 >日付ごとになります。 

 そうなると、2015/10/07(水) 18:52の計算はおかしくないですか?
(カリーニン) 2015/10/08(木) 10:07

Sub main()
'シート名=sheet1
'A列=日付
'I列=家具
'J列=家電
'M列=日付
'N列=売上
'O列=家電30%

    Dim cl As Range, clsub As Range, uriage As Long, kaden As Long
        For Each cl In Intersect(Sheets("Sheet1").Columns("M").Cells, Sheets("Sheet1").UsedRange)
        uriage = 0
        kaden = 0
        If IsDate(cl) Then
            For Each clsub In Intersect(Sheets("Sheet1").Columns("A").Cells, Sheets("Sheet1").UsedRange)
                If cl.Value = clsub.Value Then
                uriage = uriage + Val(clsub.Offset(, 2).Value) + Val(clsub.Offset(, 3).Value) + Val(clsub.Offset(, 4).Value) + Val(clsub.Offset(, 6).Value) + Val(clsub.Offset(, 7).Value)
                    If Val(clsub.Offset(, 5).Value) > 0 Then uriage = uriage + 100
                    If Val(clsub.Offset(, 8)) > 0 Then
                        If Val(clsub.Offset(, 8).Value) >= 2000 Then
                        uriage = uriage + 1000
                        Else
                        uriage = uriage + 500
                        End If
                    End If
                kaden = kaden + Val(clsub.Offset(, 9).Value) * 0.3
                End If
            Next clsub
         cl.Offset(, 1) = uriage: cl.Offset(, 2) = kaden
        End If
    Next cl
End Sub
(mm) 2015/10/08(木) 10:43

 N列は「家電*0.3」を除いた合計なんだね。たぶん。

 N2 =SUMPRODUCT((A$2:A$20=M2)*(C$1:H$1<>"書籍")*C$2:H$20)+COUNTIFS(A$2:A$20,M2,F$2:F$20,">0")*100+SUM(COUNTIFS(A$2:A$20,M2,I$2:I$20,{">=2000",">0"})*{500,500})

 O2 =SUMIF(A:A,M2,J:J)*0.3

 ※マイナス値あるとNG。
 
(GobGob) 2015/10/08(木) 10:59

 >3.書籍は幾らでも100。それ以外はそのままの金額を反映する。 

 たとえば、10/1の場合、山田さん、佐藤さんともに書籍があり、500、200ですが、
 計算に当たっては(500→100)+(200→100)の200なのか、((500+200)→100)で100
 なのか、いまいちわかりません。

 >日付ごとになります。

 ということですので、
 (500+200)→100
 ということになるのかな?
(カリーニン) 2015/10/08(木) 11:15

カリーニンさん

たとえば、10/1の場合、山田さん、佐藤さんともに書籍があり、500、200ですが、
 計算に当たっては(500→100)+(200→100)の200なのか、((500+200)→100)で100
 なのか、いまいちわかりません。

上記の場合、(500→100)+(200→100)の200になります。

宜しくお願い致します。
(リョウジ) 2015/10/08(木) 19:26


 ということは、

 個人ごと、日付ごと ですね。
(カリーニン) 2015/10/08(木) 19:45

質問内容を若干変えます。
・青果 金額そのまま100%
・肉 金額そのまま100%
・魚 15,500で7,000
・書籍 12,000までは4,000 それ以上は5,000 
・雑貨 金額の20% 
・消耗品 金額の10%  
・家具金額関係なく5,000
・家電 5,000で1,500 
・「ドリンク」 金額の30% 
・「おやつ」 金額そのまま

※ドリンク、おやつは列が増えます。
GobGobさんを参考にアレンジしようと思いましたが
出来ませんでした。><

カリーニンさん

何度もありがとうございます。
仕入先名はそれほど重要ではなく計算には反映しません


(リョウジ) 2015/10/09(金) 15:26


 >仕入先名はそれほど重要ではなく計算には反映しません 

 ↓なんですよね?

 >上記の場合、(500→100)+(200→100)の200になります。

 ちょっと話がかみ合わないので以降はROMすることにします。
(カリーニン) 2015/10/09(金) 17:57

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.