这次竞赛
rongjun兄的不考虑误差公式57字:
=DAY(FLOOR(A1-DAY(A1),7)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7})
最精彩
考虑误差公式也不错,
如冻豆腐的公式只有80字
'=DAY(A1-DAY(A1)-MOD(A1-DAY(A1),7)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}+(A1<61)*39081)
是较好的使用增量调整法的代表.
rongjun兄的81字,
=DAY(FLOOR(A1-DAY(A1),7)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-(A1<32))-(A1>31)*(A1<61)
是采用内部修正法的代表
还有shlzml(欢乐英雄)的89字:
=(DAY({0;1;2;3;4;5}*7+{2,3,4,5,6,7,8}+A1-DAY(A1)-WEEKDAY(A1-DAY(A1)+1))-(A1<61))/(A1<>60)
是采用减量调整法,用起来轻巧,不过组合运用没发挥好.
总之,也就是说考虑误差公式没有发挥到尽头,还有很大的压缩空间.
经参考和吸取rongjun兄、冻豆腐、欢乐英雄兄公式的优点和长项,现总结如下:
减量调整法:65字
=DAY(FLOOR(A1-DAY(A1),7)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7})-(A1<61)
增量调整法:69字
=DAY(FLOOR(I1-DAY(I1),7)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}+(I1<61)*365)
内部修正法:79字
=--TEXT(FLOOR(A1-DAY(A1),7)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-(A1<60),"[=60]9;d")
[ 本帖最后由 wshcw 于 2009-12-25 00:41 编辑 ] |