Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 7955|回复: 24

先进先出数组转换练习

  [复制链接]
发表于 2011-5-28 20:21 | 显示全部楼层 |阅读模式
        这是一个利用函数实现先进先出法中要用到的一个技巧,具体如下:
             已知有一数组
                     {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数的和还是小于给定的数,则继续向下取,直到取出的“数字和”等于提供的数字

评分

参与人数 1 +1 收起 理由
砂海 + 1

查看全部评分

发表于 2011-5-28 21:42 | 显示全部楼层
游客,如果您要查看本帖隐藏内容请回复
公式很原始,也很长
回复

使用道具 举报

发表于 2011-5-28 23:57 | 显示全部楼层
本帖最后由 兰色幻想 于 2011-5-29 05:51 编辑

没好思路,弄个长长的:
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

发表于 2011-5-29 00:26 | 显示全部楼层
游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

发表于 2011-5-29 09:08 | 显示全部楼层
如果不要求数字格式还可以减:
  1. =TEXT({4;6;2;2}-TEXT(MMULT((ROW(2:5)>{1,2,3,4})*1,{4;6;2;2})-5,"[<]\0"),"[<0]\0")

复制代码
回复

使用道具 举报

发表于 2011-5-29 17:09 | 显示全部楼层
本帖最后由 wuxingai 于 2011-5-29 17:11 编辑

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

发表于 2011-5-29 23:46 | 显示全部楼层
来学习下,
回复

使用道具 举报

发表于 2011-5-30 21:56 | 显示全部楼层
来学习下{:011:}
回复

使用道具 举报

发表于 2011-6-1 11:04 | 显示全部楼层
学习                  
回复

使用道具 举报

发表于 2011-6-7 19:16 | 显示全部楼层
兰版老师怎么不给评分了?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 19:21 , Processed in 0.375784 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表