Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops excelvba中的循环_Loops_Excel_Excel Formula_Vba - Fatal编程技术网

Loops excelvba中的循环

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(),"

我有一个适当的逻辑,但不知道如何在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(),"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)))