ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何求1个数每位数字的补数并重新组合成新数?

如何求1个数每位数字的补数并重新组合成新数?

作者:绿色风 分类: 时间:2022-08-17 浏览:94
楼主
wjc2090742
Q:如何求1个数每位数字的补数并重新组合成新数?假设以10为模,返回1个数字每个位置上数字的补数的个位数并重新组合成新数。比如原数字为210,则10减去2返回8,10减去1返回9,10-0返回0,得到的新数为890。模拟结果如下图所示。

 

A:可以使用下面的公式,B2数组公式下拉:
  1. =SUM(RIGHT(10-(0&MID(A2,ROW($1:15),1)))*10^(LEN(A2)-ROW($1:15)))
本模型还有一些变例,比如说每个位置加1或减1后组成新数,也就是EP社区6段函数题目之一了,这里不做讨论,有兴趣的朋友可以自己下载EP的段题练习。此外,补数还有其特殊的算法,详见2楼。
如何用10减去1个数据每个位置上数字重新组合成新的数据.rar
2楼
gouweicao78
这种东西称为“补数”



最常见的是以10为模,比如0+10、1+9=10、2+8=10……



  1. =SUM(MOD(-(0&MID(A2,ROW($1:15),1)),10)*10^(LEN(A2)-ROW($1:15)))
3楼
liuguansky
我好像有写过一个按8算的,如果大于等于8就不变。
4楼
piny
=(REPT(1,LEN(A2))&0)-A2-SUM((MID(A2,ROW($1:15),1)="0")*10^(LEN(A2)+1-ROW($1:15)))

數組 公式較長 供參
5楼
LoveJinLee
学习闹~
6楼
魔魔
  1. =SUM(MOD(-LEFT(RIGHT(0&A2,ROW($1:$15))),10)*10^ROW($2:$16))%

免责声明

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

评论列表
sitemap