作者:绿色风
分类:
时间:2022-08-17
浏览:192
楼主 wjc2090742 |
Q:如何得到十位和个位不相同的两位数?如下截图。
A:公式一:- =SMALL(IF(MMULT(IFERROR(FIND(COLUMN(A:J)-1,ROW($10:$98)),0),ROW($1:$10)^0)=3,ROW($10:$98)),ROW(1:1))
公式二:- =SMALL(IF(MMULT((MID(ROW($10:$98),{1,2},1)*{-1,1}),{1;1}),ROW($10:$98)),ROW(1:1))
公式三:- =SMALL(ROW($1:$9)*10+(COLUMN($A:$I)<>ROW($1:$9))*COLUMN($A:$I),ROW(1:1))
不知道有没有人写过。比较在意是公式一都可以扩展到三位、四位等等,公式二、三有没有扩展的可能呢? 如何用函数得到十位和个位不相同的两位数?.rar |
2楼 悟空师弟 |
试试这个行不行:- =SMALL(IF(MOD(ROW($10:$99),11),ROW($10:$99)),ROW())
|
3楼 wjc2090742 |
三位,百、十、个两两不同。
公式一改
- =SMALL(IF(MMULT(IFERROR(FIND(COLUMN(A:J)-1,ROW($102:$987)),0),ROW($1:$10)^0)=6,ROW($102:$987)),ROW(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总版主之一