[[20220124221704]] 『売上予算を曜日で自動に計算したい』(としお) ページの最後に飛ぶ

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

 

『売上予算を曜日で自動に計算したい』(としお)

売上予算9000000
この合計をその月で日割り予算にしたいのですが
合計を見ながら適当に数字を合わせれば良いのですが
これを曜日を考慮して自動化したいのですが
良いアイデア無いでしょうか?
ボタン1つで簡単に日割り予算をたててしまう感じです
そんなものは合計をマイナスして最後に帳尻合われろと
言われてしまいますがその辺は置いといてもらって
アイデアありましたら教えてください
よろしくお願いします

< 使用 Excel:Excel2007、使用 OS:WindowsVista >


 ちょっと質問させてください。

 土•日曜日と、平日では...平均的な売上って差があるんですか?
 上半期、下半期みたいな目標売上とかも設定されますか?
(あみな) 2022/01/24(月) 22:44

回答ありがとうございます
土曜日は50万日曜日は60万と固定でかまいません
平日の売上なのですが25万やら21万やらあります。
月曜日低め
火曜日低め
水曜日低め
木曜日低め
金曜日やや高め
低めとは21万程度
やや高めとは35万程度
こんな情報では無理がありますか?
(としお) 2022/01/24(月) 22:56

 情報を ありがとうございます。

 その情報があった方が、考えやすいと思ったからです。
 平日に50万とか無理な目標をたててもアカンですものね。

 すぐに閲覧者の方々も、名案が浮かぶかわかりませんが
 きっと誰かが良い案が出ると良いですね。

 あと、としおさんの希望は...ボタンからってことは
 VBAでも可なんですよね?

 それとも、全部を関数だけでも良いのですか?
(あみな) 2022/01/24(月) 23:12

関数でもマクロでもかまいません
よろしくお願いします
(としお) 2022/01/25(火) 07:28

祝日などに左右されないなら
1日が曜日の7通り、日数が28日から31日の4通りで
全部で28通りかな
(ajast) 2022/01/25(火) 07:40

900万を月で売るには1日何万売ればよいかをざっくり求めたいということ?(平均30万くらい?)
曜日ごとの売り上げ比率も考えて出したいということ?
(himao) 2022/01/25(火) 09:51

Sub main()
    Dim ip1 As String, ip2 As String, ipx As String, msg As String, x As Variant, tot As Variant, tot2 As Variant, i As Long
    ip1 = InputBox("売上予算金額(月間)を入力してください")
    If Not IsNumeric(ip1) Then MsgBox "金額が不適切", vbCritical: Exit Sub
    ip2 = StrConv(InputBox("曜日別の売上%をカンマ区切りで入力(日,月,火,水,木,金,土)" & vbLf & _
    "例:20,10,10,10,10,20,20"), vbNarrow)
    If UBound(Split(ip2, ",")) <> 6 Then MsgBox "曜日別のカンマ数が6になっていません", vbCritical: Exit Sub
    For Each x In Split(ip2, ",")
        tot = tot + Val(x)
    Next x
    If tot <> 100 Then MsgBox "曜日別の合計が100%になっていません", vbCritical: Exit Sub
    ipx = "日,月,火,水,木,金,土"
    tot = 0
    For i = 0 To UBound(Split(ip2, ","))
        msg = msg & vbLf & Split(ipx, ",")(i) & "曜日 " & Int(Split(ip2, ",")(i) * Val(ip1) * 0.01) & "円"
        tot = tot + Int(Split(ip2, ",")(i) * ip1 * 0.01)
    Next i
    MsgBox msg & vbLf & "計" & ip1 & "円" & vbLf & "端数" & Val(ip1) - tot & "円"
End Sub
(mm) 2022/01/25(火) 12:14

Sub main() '一日当たり
    Dim ip0 As String, ip1 As String, ip2 As String, ipx As String, msg As String, x As Variant, tot As Variant, tot2 As Variant, i As Long
    Dim s_date As Date, e_date As Date
    ip1 = InputBox("売上予算金額(月間)を入力してください")
    If Not IsNumeric(ip1) Then MsgBox "金額が不適切", vbCritical: Exit Sub
    ip2 = StrConv(InputBox("曜日別の売上%をカンマ区切りで入力(日,月,火,水,木,金,土)" & vbLf & _
    "例:20,10,10,10,10,20,20"), vbNarrow)
    If UBound(Split(ip2, ",")) <> 6 Then MsgBox "曜日別のカンマ数が6になっていません", vbCritical: Exit Sub
    ip0 = InputBox("対象年月を入力してください(yyyy/m)")
    If Not IsDate(ip0) Then MsgBox "月が不正です", vbCritical: Exit Sub
    s_date = ip0 & "/1"
    e_date = DateAdd("m", 1, ip0 & "/1") - 1
    Dim ipy(6)
    For i = s_date To e_date
        ipy(Weekday(i) - 1) = ipy(Weekday(i) - 1) + 1
    Next i
    For Each x In Split(ip2, ",")
        tot = tot + Val(x)
    Next x
    If tot <> 100 Then MsgBox "曜日別の合計が100%になっていません", vbCritical: Exit Sub
    ipx = "日,月,火,水,木,金,土"
    tot = 0
    For i = 0 To 6
        msg = msg & vbLf & Split(ipx, ",")(i) & "曜日 " & Round(Split(ip2, ",")(i) * Val(ip1) * 0.01 / ipy(i), 0) & "円(×" & ipy(i) & "回)"
        tot = tot + Round(Split(ip2, ",")(i) * Val(ip1) * 0.01 / ipy(i), 0) * ipy(i)
    Next i
    MsgBox "対象月" & ip0 & vbLf & msg & vbLf & "計" & ip1 & "円" & vbLf & "要調整額" & Val(ip1) - tot & "円"
End Sub

(mm) 2022/01/25(火) 14:00


回答ありがとうございます。
体調不良で返信遅くなりました。すみません
mmさんのコード凄いですね!
このコードの結果を見てお願いがあります。
この週間の金額の結果を縦に作ってある日付の
入ってる表にうまく曜日別に金額を入力できますか?
表はA2からA32までの今月でしたらA2に1月1日
A3に1月2日途中省略しましてA32に1月31日と
入力されてまして予算の結果をC2 C3金額を入力
したいのですが出来ますか?
よろしくお願い致します。
(としお) 2022/01/27(木) 21:52

コメント返信:

[ 一覧(最新更新順) ]


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