import pandas as pd
def calculate_cost(食材名, 食材カテゴリ, 単価, 入荷量, 歩留まり率, 調達費, 使用量):
# 入荷金額の算出
入荷金額 = 単価 * 入荷量
# 調達費の加算
if isinstance(調達費, int): # 金額として指定された場合
調達費金額 = 調達費
総入荷金額 = 入荷金額 + 調達費金額
elif isinstance(調達費, float): # 比率として指定された場合
調達費金額 = 入荷金額 * 調達費
総入荷金額 = 入荷金額 + 調達費金額
else:
raise ValueError("調達費は金額または比率で指定してください")
# 使用可能量の算出(歩留まり率を適用)
使用可能量 = 入荷量 * 1000 * 歩留まり率 # kgをgに変換
# 1gあたり単価の算出
単位当たり単価 = 総入荷金額 / 使用可能量
# 使用量に基づく原価金額の算出
使用量原価金額 = 単位当たり単価 * 使用量
# 結果をDataFrameとして表示
result = pd.DataFrame({
"項目": ["食材名", "カテゴリ", "単価", "入荷量", "歩留まり率", "入荷金額", "調達費", "総入荷金額", "使用可能量", "1gあたり単価", "使用量", "使用量原価金額"],
"値": [
食材名,
食材カテゴリ,
f"{単価}円",
f"{入荷量}kg",
f"{歩留まり率 * 100}%",
f"{入荷金額}円",
f"{調達費金額:.2f}円",
f"{総入荷金額}円",
f"{使用可能量}g",
f"{単位当たり単価:.2f}円/g",
f"{使用量}g",
f"{使用量原価金額:.2f}円"
]
})
# 表をユーザーに表示
import ace_tools as tools; tools.display_dataframe_to_user(name="単品原価計算結果", dataframe=result)
# 指定の食材情報で関数を実行
calculate_cost(
食材名="まぐろ",
食材カテゴリ="鮮魚類",
単価=2200, # 円
入荷量=13.6, # kg
歩留まり率=0.85,
調達費=0.07, # 比率で指定
使用量=20 # g
)
食材名"
"
食材カテゴリ"
"
食材の単価と入荷単位と歩留まり率"
"
食材の調達費"
"
使用量"
"