作者:绿色风
分类:
时间:2022-08-18
浏览:128
楼主 liuguansky |
Q:如何计算单据的可能号码? [一张单据上有一个5位数的号码为"6**42",其中百位数和千位数已经模糊不清,但知道该数能够被67和57除尽.请找出该单据所有可能的号码] A:枚举算法:- =TEXT(SMALL(IF(MOD(60042+(ROW($1:$99)-1)*100,LCM(67,57)),111,ROW($1:$99)-1),ROW(A1)),"[<100]60042;")
比较LCM(67,57)与100后的优化算法:
- =TEXT(SMALL(IF(MOD(LCM(67,57)*ROW(1:3)-MOD(60042,LCM(67,57)),100)=0,ROW(1:3)*LCM(67,57)-MOD(60042,LCM(67,57)),40000)+60042,ROW(A1)),"[<1e5];")
示例文件如下:
桌面.rar |
2楼 xpm130 |
意外收获,从版主这里学到了text( ,"[<100]60042;"]与text( "[<1e5];")的用法.^_^ |
3楼 Zaezhong |
=TEXT(SMALL(IF(MOD(60042+(ROW($1:$100)-1)*100,LCM(67,57)),111,ROW($1:$100)-1),ROW(A1)),"[<100]60042;") 感觉红色部分修改为100好点,不然最大到69842,缺少69942的可能性判断 |
4楼 wangg913 |
- =60042+(MATCH(2,1/(0=MOD(TEXT(ROW(1:100)-1,60042),LCM(67,57))))-1)/1%
数组公式 |
5楼 wjc2090742 |
还是大头兄厉害啊,看到公式吓了一跳,有匪夷所思之感。前段很少见到呢,最近都在忙呢?其实还蛮想兄弟的
借大头兄的思路掺和一下,只能应付只有1个数符合的情况。- =(MATCH(,MOD(60042+(ROW(1:100)-1)/1%,LCM(67,57)),)-1)/1%+60042
|
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一