首页 > 解决方案 > 用于将数字除或拆分为最大可能相等部分的 excel 函数

问题描述

在此处输入图像描述

我需要除以5 (如除法) ,但是每个值应该平衡每个部分的最大可能方式

例子

6= 3,3 is ok.  but 6= 5,1 is wrong

18= 5,5,4,4 is ok. but 18= 5,5,5,3 is wrong

21= 5,4,4,4,4 is ok. but 21= 5,5,5,5,1 is wrong

标签: excelexcel-formulanumbersexcel-2010divide

解决方案


其基础数学如下。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,4
  3. 使用该REPT功能重复每个适当的次数以给出,3,4,4
  4. 连接这两个字符串并使用SUBSTITUTE删除第一个逗号

完成上述操作的一个有点混乱的公式是:

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

其中NUMBER_HAVE_TO_SPLITSPLIT_BY_PARTS分别在A2B2中。

生成3=1 and 4=2格式的公式是

=TEXT(QUOTIENT(A2,B2),0)&"="&TEXT(B2-MOD(A2,B2),"0")&IF(MOD(A2,B2)>0," and "&TEXT(QUOTIENT(A2,B2)+1,0)&"="&TEXT(MOD(A2,B2),"0"),"")

推荐阅读