Loops excelvba中的循环
我有一个适当的逻辑,但不知道如何在Excel中执行/编码。逻辑如下: 在办公室,我需要根据许多旧物品的购买价值和使用年限来确定它们的价值。我不想使用VDB或其他内置函数 在我的电子表格中:Loops excelvba中的循环,loops,excel,excel-formula,vba,Loops,Excel,Excel Formula,Vba,我有一个适当的逻辑,但不知道如何在Excel中执行/编码。逻辑如下: 在办公室,我需要根据许多旧物品的购买价值和使用年限来确定它们的价值。我不想使用VDB或其他内置函数 在我的电子表格中: A1 = "Table" (Name of the article) B1 = "01/01/2005" (Date of purchase in MM/DD/YYYY format) C1 = "1000" (Purchase value) D1 = "=DATEDIF(B1,TODAY(),"
A1 = "Table" (Name of the article)
B1 = "01/01/2005" (Date of purchase in MM/DD/YYYY format)
C1 = "1000" (Purchase value)
D1 = "=DATEDIF(B1,TODAY(),"Y")" (Gives the age of article in years)
E1 = "20" (Percentage depreciation for first year, which varies based on article)
F1 = "=C1*10%" '(Depreciated value should not be less than 10% of purchase value)
现在,在G1
中,我想用购买价值“C1
”计算物品“A1
”的折旧值,对于“D1
”年数,@flat”E1
”%,对于第一年和随后的年份,分别为10%
H1 = "=C1-G1" (Value of the article after depreciation)
I1 = "=IF(H1<=F1,F1,H1)"
最后,我将G1单元格格式化为一个小数点为零的数字。现在一切都很完美
再次感谢,非常感谢 你不需要宏,它只是简单的数学运算 假设您的百分比(在
E1
中)存储为.2
(对于20%),而不是实际的20
,则此公式将起作用:
=MAX(F1,C1*(1-E1)-(C1*0.1*(D1-1)))
如果您熟悉SO,那么当您被问到:您尝试过什么?因为我对宏一无所知,所以没有尝试过。我的Excel知识只有+-*/。我在谷歌上找到的IF()语句。可能有人会帮你,但是。@assylias谢谢你的评论。我自己已经找到了答案,但由于我的声誉不到100,所以在接下来的8小时内无法在这里发布。我将在接下来的8小时内发布我写的宏。+1你的良好态度,愿意学习并接受纠正。很高兴你也明白了
=MAX(F1,C1*(1-E1)-(C1*0.1*(D1-1)))