计算毛利 W/O 卖出

Calculate Gross Profit W/O Sell

尝试为自己制作一个小项目,用于计算毛利而不需要售价。谁能解释为什么这会被降价?我们都曾一度需要帮助..

我目前有 4 个文本框,Cost、Sell、Gross Profit Margin、Markup

我通常是怎么做的 excel 是 =Cost/(1-Gp Markup) 这会 return 卖 14.99 美元 @ 12.74 美元成本 例如 @ 15%

我的代码在下面任何帮助将不胜感激:)

private void button2_Click(object sender, EventArgs e)
{
   double cost = Convert.ToDouble(costTextBox.Text);
   double grossmargin = Convert.ToDouble(grossmarginTextBox.Text);
   double grossSellFinal = cost + (cost * grossmargin)/100;
   // This returns .65 which is a mark up not gross profit
   sellTextBox.Text = grossSellFinal.ToString();
}

这个我也试过了

private void button2_Click(object sender, EventArgs e)
{
   double cost = Convert.ToDouble(costTextBox.Text);
   double grossmargin = Convert.ToDouble(grossmarginTextBox.Text);
   double grossSellFinal = cost / (1 - grossmargin);
   //This returns a sell of -0.91
   sellTextBox.Text = grossSellFinal.ToString();
}

https://www.calculatorsoup.com/calculators/financial/margin-calculator.php?cost=12.74&revenue=14.99&action=solve

你的两个计算结果截然不同:

一个是成本*115% 一是成本/85%

你的第二个例子失败了,因为你有 1500% 的边距(你没有除以 100)

如果您在第二个示例中使用“0.15”作为毛利率,您应该卖出“14.9882352941176”

根据您的公式,Sell 应等于 Cost / (1 - Gross Profit Margin),其中 Gross Profit Margin 是 0 到 1 之间的小数:

private void button2_Click(object sender, EventArgs e)
{
   decimal cost = Convert.ToDecimal(costTextBox.Text);
   decimal grossmargin = Convert.ToDecimal(grossmarginTextBox.Text);
   decimal grossSellFinal = cost / (1 - grossmargin);
   sellTextBox.Text = grossSellFinal.ToString();
}

如果您输入 grossmargin 作为 0 到 100 之间的值,您应该将该值除以 100:

private void button2_Click(object sender, EventArgs e)
{
   decimal cost = Convert.ToDecimal(costTextBox.Text);
   decimal grossmargin = Convert.ToDecimal(grossmarginTextBox.Text);
   decimal grossSellFinal = cost / (1 - grossmargin/100);
   sellTextBox.Text = grossSellFinal.ToString();
}

同样,如果输入非法值(例如 grossmargin = 1),也建议抛出某种 error/warning:

private void button2_Click(object sender, EventArgs e)
{
   decimal cost = Convert.ToDecimal(costTextBox.Text);
   decimal grossmargin = Convert.ToDecimal(grossmarginTextBox.Text);
   if (grossmargin > 100)
   {
       sellTextBox.Text = "Error message here";
   }
   else 
   {
       decimal grossSellFinal = cost / (1 - grossmargin/100);
       sellTextBox.Text = grossSellFinal.ToString();
   }
}

我不确定处理除以零的情况的正确会计方法,所以以上只是一个例子。我会把实际的实现留给你。