先进先出数组转换练习
这是一个利用函数实现先进先出法中要用到的一个技巧,具体如下:已知有一数组
{4;6;2;2}和5
要求:转换成
{4;1;0;0} '该数组的和等于给定的数字5
即:按顺序从数组的取数,如果第1个数字大于给定的数5,从第1个数中取出5个,如果第1个数字小于5则全部取出来(如本题的第一个数字4,它小于5,则全部取出),然后再从第2个数字中取出剩余的数量(本题中还需要从第2个数字6中取出5-4=1 个数量),如果第1和第2数的和还是小于给定的数,则继续向下取,直到取出的“数字和”等于提供的数字。
**** Hidden Message *****公式很原始,也很长 本帖最后由 兰色幻想 于 2011-5-29 05:51 编辑
没好思路,弄个长长的:
**** Hidden Message *****
**** Hidden Message ***** 如果不要求数字格式还可以减:=TEXT({4;6;2;2}-TEXT(MMULT((ROW(2:5)>{1,2,3,4})*1,{4;6;2;2})-5,"[<]\0"),"[<0]\0")
本帖最后由 wuxingai 于 2011-5-29 17:11 编辑
**** Hidden Message ***** 来学习下,:lol
来学习下{:011:} 学习 兰版老师怎么不给评分了?{:1_1:}