用于将数字除以或拆分为最大可能相等部分的excel函数

问题描述

enter image description here

我需要除以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:

  1. 使用 TEXT(number,0)
  2. 较小的数字较大的数字转换为文本
  3. 在每个前面加上逗号以给出字符串 ,3,4
  4. 使用 REPT 函数重复每个适当的次数以给出 ,4
  5. 连接这两个字符串并使用 SUBSTITUTE 删除第一个逗号

完成上述任务的一个有点凌乱的公式是:

=SUBSTITUTE(REPT(","&TEXT(QUOTIENT(A2,B2),"0"),B2-MOD(A2,B2))&REPT(",B2)+1,MOD(A2,B2)),","",1)

其中 NUMBER_HAVE_TO_SPLITSPLIT_BY_PARTS 分别位于 A2B2

生成 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,"")