ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何得到十位和个位不相同的两位数?

如何得到十位和个位不相同的两位数?

作者:绿色风 分类: 时间:2022-08-17 浏览:192
楼主
wjc2090742
Q:如何得到十位和个位不相同的两位数?如下截图。

 
A:公式一:
  1. =SMALL(IF(MMULT(IFERROR(FIND(COLUMN(A:J)-1,ROW($10:$98)),0),ROW($1:$10)^0)=3,ROW($10:$98)),ROW(1:1))
公式二:
  1. =SMALL(IF(MMULT((MID(ROW($10:$98),{1,2},1)*{-1,1}),{1;1}),ROW($10:$98)),ROW(1:1))
公式三:
  1. =SMALL(ROW($1:$9)*10+(COLUMN($A:$I)<>ROW($1:$9))*COLUMN($A:$I),ROW(1:1))
不知道有没有人写过。比较在意是公式一都可以扩展到三位、四位等等,公式二、三有没有扩展的可能呢?
如何用函数得到十位和个位不相同的两位数?.rar
2楼
悟空师弟
试试这个行不行:
  1. =SMALL(IF(MOD(ROW($10:$99),11),ROW($10:$99)),ROW())
3楼
wjc2090742
三位,百、十、个两两不同。

公式一改
  1. =SMALL(IF(MMULT(IFERROR(FIND(COLUMN(A:J)-1,ROW($102:$987)),0),ROW($1:$10)^0)=6,ROW($102:$987)),ROW(1:1))

公式二改
  1. =SMALL(IF(MMULT(FIND(MID(ROW($102:$987),{1,2,3},1),ROW($102:$987)),{1;1;1})=6,ROW($102:$987)),ROW(1:1))




我是为了公式三才写这个帖的啊。
4楼
gouweicao78
呵呵,MOD肯定是最合适的解。
5楼
wjc2090742


其实是这样的,我拿到的题目是三位数的,而且是vba的代码。跟那个2的n次方一样,是一直在想那个代码有无函数的实现方式,为此改写的两位数。
悟空师弟的方法学习了,非常不错,是我陷入了定式。但是昨晚和他一起讨论的结果,暂时还没有办法把mod的方法扩展到三位数或者更多。
不知道mod的方法在三位数或者更多的时候该如何组织呢?
6楼
gouweicao78
2位相同,比如00、11、22……99,都可被11整除。
3位相同,比如000、111、222……999,都可被111整除。
7楼
wjc2090742
没,100或者122这样的也不行。上面的公式是百十个两两不相同的。
8楼
gouweicao78


题目是十位数和个位数不同的两位数,因此,理解“三位数”自然是“百位数、十位数、个位数不同的三位数”,而这个“不同”,没有说“都不同”,所以才说用MOD对111求余。
9楼
wjc2090742



因为是两位数,一楼的说法还是过得去的。3楼的补充了说明,以免看的人误会。谢谢草版的点评。
说起来 一心想着公式3,别的就都看不到了,也是好事也是坏事啊

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap