问题描述
我需要除以5,但是每个值应该平衡每个部分的最大可能方式
示例
6= 3,3 is ok. but 6= 5,1 is wrong
18= 5,5,4,4 is ok. but 18= 5,3 is wrong
21= 5,4 is ok. but 21= 5,1 is wrong
解决方法
此操作的基础数学如下。 Number have to split
将被拆分为两个数字的重复。 较小的数字由
=QUOTIENT(NUMBER_HAVE_TO_SPLIT,SPLIT_BY_PARTS)
并且更大的数字由
给出=QUOTIENT(NUMBER_HAVE_TO_SPLIT,SPLIT_BY_PARTS)+1
仅供参考,QUOTIENT
工作表函数执行整数除法,例如 QUOTIENT(13,4)=3
。
较大数字重复的次数由下式给出:
=MOD(NUMBER_HAVE_TO_SPLIT,SPLIT_BY_PARTS)
并且较小的数字重复的次数由下式给出:
=SPLIT_BY_PARTS - MOD(NUMBER_HAVE_TO_SPLIT,SPLIT_BY_PARTS)
剩下的任务是以您建议的格式返回结果。获取逗号分隔的格式 3,4,4
:
- 使用
TEXT(number,0)
将较小的数字和较大的数字转换为文本
- 在每个前面加上逗号以给出字符串
,3
和,4
- 使用
REPT
函数重复每个适当的次数以给出,4
- 连接这两个字符串并使用
SUBSTITUTE
删除第一个逗号
完成上述任务的一个有点凌乱的公式是:
=SUBSTITUTE(REPT(","&TEXT(QUOTIENT(A2,B2),"0"),B2-MOD(A2,B2))&REPT(",B2)+1,MOD(A2,B2)),","",1)
其中 NUMBER_HAVE_TO_SPLIT
和 SPLIT_BY_PARTS
分别位于 A2
和 B2
。
生成 3=1 and 4=2
格式的公式是
=TEXT(QUOTIENT(A2,0)&"="&TEXT(B2-MOD(A2,"0")&IF(MOD(A2,B2)>0," and "&TEXT(QUOTIENT(A2,0)&"="&TEXT(MOD(A2,"")