看看我的需求:日期区限 折旧率
~1980.7 4.8%
1980.7~1987.1 5.3%
1987.1~1991.1 5.0%
1991.1~1993.7 6.25%
1993.7~2003.12 5.56%要求:成批输入(从EXCEL输入)资产金额和日期,能按上述日期和对应折旧率成批输出对应折旧值,并在EXCEK表格中列表显示。
在EXCEL里面直接实现,用VBA或者宏求源代码发送到[email protected]
~1980.7 4.8%
1980.7~1987.1 5.3%
1987.1~1991.1 5.0%
1991.1~1993.7 6.25%
1993.7~2003.12 5.56%要求:成批输入(从EXCEL输入)资产金额和日期,能按上述日期和对应折旧率成批输出对应折旧值,并在EXCEK表格中列表显示。
在EXCEL里面直接实现,用VBA或者宏求源代码发送到[email protected]
然后...取某机器买入时间(INDATE)和停用时间(STOPDATE),金额(AMO),例如:1984/7---1998/3,30405元.1.取在折旧表中的时间间隔(有两个,分前区间和后区间).
A.第一个日期:D1
STRSQL="SELECT MAX(DATE1) FROM (SELECT * FROM [折旧表] WHERE DATE1<'1984/7' ORDER BY DATE1 DESC)"
B.第二个日期:D2
STRSQL="SELECT MIN(DATE1) FROM (SELECT * FROM [折旧表] WHERE DATE2>'1998/3' ORDER BY DATE1 DESC)"然后.
这样,就可以取取在节旧表中的时间区间.
然后,再用时间区间分步按折旧方式来计算折旧率.我也是大体说说,可能表述不是很清楚,大概就是这样.
记下来练练手
不是很急吧?最近很忙的哦
假如a列是日期,b列是金额
c列可以这样写=if(and(a1>34151,a1<37956),b1*0.0556,if(and(a1>33239,a1<34151)b1*0.0625,
if(and(a1>31959,a1<33239),b1*0.05,if(and(a1>29403,a1<31959),b1*0.053,b1*0.048))))
说明一下:
34151 是日期1993-7-1的数字表示 37956 是日期2003-12-1的数字表示
其他的与其他日期对应。
if(and(a1>31959,a1<33239),b1*0.05,if(and(a1>29403,a1<31959),b1*0.053,b1*0.048))))
掉了个,