Excel公式算法?

Excel公式算法?,第1张

在 Excel 2007 中,可用以下公式满足题要求:

8 月之后不良希望摊销费用 = 请求费用 / 发生不良率(工务)* 8 月之后不良率,公式为:=B2/A2*C2

8月以前不良希望摊销费用 = 请求费用 - 8 月之后不良希望摊销费用    = 请求费用 / 发生不良率(工务)* 8 月以前不良率,公式为:=B2-F2    或  =B2/A2*D2

注1:本来“8月以前不良希望摊销费用”两个公式的结果应该是相同的,但按题设数据当“发生不良率(工务)”<>“8 月之后不良率”+“8 月以前不良率”时,会产生差别。

注2:“8月以前不良希望摊销费用”两个公式的比较如下图示,可见,当用公式“=B2-F2”时,可保证请求费用不变,但不良率相同时的费用不同;当用公式“=B2/A2*D2”时,不良率相同时产生的费用相同,但请求费用会变化。这是因为注1所述原因造成。

公式结果如下图示:

公式结果的图示

看到了有xor运算的函数:

=SUBSTITUTE(SUMPRODUCT(INT(MOD(A1,2^ROW($1:$15))/2^(ROW($1:$15)-1))*10^(ROW($1:$15)-1))+SUMPRODUCT(INT(MOD(A2,2^ROW($1:$15))/2^(ROW($1:$15)-1))*10^(ROW($1:$15)-1)),2,0)

不知道哪位能写出类似的AND、OR的公式?最大数不超过255,不要使用自定义函数。

:handshake

谢谢

关于位运算:

程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行 *** 作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理

参考http://club.excelhome.net/thread-627355-1-1.html-

=IF(MINUTE(B2-A2)<>0,HOUR(B2-A2)+1,HOUR(B2-A2))

公式说明:

默认情况下,在单元格中输入类似时间的数据,系统会自动将单元格格式调整成为时间格式。否则,您需要手动将开始和结束时间的格式设置成对应的时间;

公式首先通过MINUTE函数计算出结束时间减去开始时间后的“分”,根据要求得出结论是只要分不是0,就说明要在小时上加“1”,然后通过HOUR函数计算出结束时间减去开始时间的“小时”;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7952955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存