ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 函数与公式 > 如何计算单据的可能号码?

如何计算单据的可能号码?

作者:绿色风 分类: 时间:2022-08-18 浏览:111
楼主
liuguansky
Q:如何计算单据的可能号码?
[一张单据上有一个5位数的号码为"6**42",其中百位数和千位数已经模糊不清,但知道该数能够被67和57除尽.请找出该单据所有可能的号码]
A:枚举算法:
  1. =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后的优化算法:

  1. =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
  1. =60042+(MATCH(2,1/(0=MOD(TEXT(ROW(1:100)-1,60042),LCM(67,57))))-1)/1%
数组公式
5楼
wjc2090742
还是大头兄厉害啊,看到公式吓了一跳,有匪夷所思之感。前段很少见到呢,最近都在忙呢?其实还蛮想兄弟的


借大头兄的思路掺和一下,只能应付只有1个数符合的情况。
  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总版主之一

评论列表
sitemap