Excel精英培训网

 找回密码
 注册
查看: 6050|回复: 16

MMULT函数练手题

  [复制链接]
发表于 2012-6-7 10:50 | 显示全部楼层 |阅读模式
本帖最后由 飞雨飘 于 2012-6-12 14:57 编辑

回题要求:一、公式字数不限,权当练手。
二、需用MM函数返回核心数据
三、要求算出某一种原料在某一个仓库里第一次出现存量大于60的日期
四、要求算出甲料在某一仓库第一次大于60的日期
五、精采答案10经验,其余答出5经验。
单选投票, 共有 7 人参与投票 查看投票参与人

投票已经结束

57.14% (4)
42.86% (3)
0.00% (0)
您所在的用户组没有投票权限

MMULT函数练手题.rar

2.54 KB, 阅读权限: 1, 下载次数: 216

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-6-7 11:45 | 显示全部楼层
并不是太理解,先试一下,支持飘老师。
第三点数组公式
  1. =MIN(IF(MMULT(MMULT((ROW(2:21)>COLUMN(A:T))*(A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21)),D2:E21),{1;-1})>60,C2:C21))
复制代码

第四点数组公式
  1. =MIN(IF(MMULT(MMULT((ROW(2:21)>COLUMN(A:T))*(A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21))*(A2:A21="甲"),D2:E21),{1;-1})>60,C2:C21))
复制代码
晚点再来简化。

点评

不是很理解吗?为了函数容错,请加不出现大于60的情况。  发表于 2012-6-7 13:40
回复

使用道具 举报

发表于 2012-6-7 12:08 | 显示全部楼层
本帖最后由 hrpotter 于 2012-6-7 12:38 编辑
  1. =MIN(IF(MMULT((ROW(2:21)>COLUMN(A:T))*(A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21)),D2:D21-E2:E21)>60,C2:C21))
复制代码
  1. =MIN(IF(MMULT((ROW(2:21)>COLUMN(A:T))*(A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21)),(D2:D21-E2:E21)*(A2:A21="甲"))>60,C2:C21))
复制代码

点评

没有分出各仓库存量。  发表于 2012-6-7 13:43

评分

参与人数 1 +3 收起 理由
飞雨飘 + 3 未处理出错情况

查看全部评分

回复

使用道具 举报

发表于 2012-6-7 14:22 | 显示全部楼层
貌似没有新鲜的思路!

MMULT函数练手题-5by.xls

28.5 KB, 下载次数: 27

点评

请解决结果都小于60的情况。  发表于 2012-6-7 15:26

评分

参与人数 1 +3 收起 理由
飞雨飘 + 3 未处理出错情况

查看全部评分

回复

使用道具 举报

发表于 2012-6-7 17:58 | 显示全部楼层
不知道为什么,2楼的不能编辑的,追加回复讨论吧。
第三点数组公式
  1. =TEXT(MIN(IF(MMULT((ROW(2:21)>COLUMN(A:T))*(A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21)),D2:D21-E2:E21)>60,C2:C21)),"m月d日;;不存在")
复制代码

第四点数组公式
  1. =TEXT(MIN(IF(MMULT((ROW(2:21)>COLUMN(A:T))*(A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21))*(A2:A21="甲"),D2:D21-E2:E21)>60,C2:C21)),"m月d日;;不存在")
复制代码



评分

参与人数 1 +5 收起 理由
飞雨飘 + 5 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2012-6-7 20:43 | 显示全部楼层
  1. =INDIRECT("C"&MIN(IF(MMULT(MMULT(N(ROW(1:20)>=COLUMN(A:T)),(A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21))*MMULT(D2:E21,{1;-1}))*(ROW(1:20)=COLUMN(A:T)),ROW(1:20)^0)>60,ROW(2:21))))
  2. =INDIRECT("C"&MIN(IF(MMULT(MMULT(N(ROW(1:20)>=COLUMN(A:T)),(A2:A21="甲")*(A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21))*MMULT(D2:E21,{1;-1}))*(ROW(1:20)=COLUMN(A:T)),ROW(1:20)^0)>60,ROW(2:21))))
复制代码

评分

参与人数 1 +3 收起 理由
飞雨飘 + 3 未处理出错情况

查看全部评分

回复

使用道具 举报

发表于 2012-6-9 08:18 | 显示全部楼层
1、
  1. =OFFSET(C1,MIN(IF(MMULT(MMULT((A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21))*(ROW(1:20)>=TRANSPOSE(ROW(1:20))),D2:E21),{1;-1})>=60,ROW(1:20))),)
复制代码
2、
  1. =OFFSET(C1,MIN(IF(MMULT(MMULT((A2:A21="甲")*(A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21))*(ROW(1:20)>=TRANSPOSE(ROW(1:20))),D2:E21),{1;-1})>=60,ROW(1:20))),)
复制代码

评分

参与人数 1 +3 收起 理由
飞雨飘 + 3 未处理出错情况

查看全部评分

回复

使用道具 举报

发表于 2012-6-9 08:26 | 显示全部楼层
终于转过弯来 分别118、115:
  1. =OFFSET(C1,MATCH(,0/(MMULT(N(A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21))*(ROW(2:21)>COLUMN(A:T)),(D2:D21-E2:E21))>=60),),)
  2. =OFFSET(C1,MATCH(,0/(MMULT(N("甲"&B2:B21=TRANSPOSE(A2:A21&B2:B21))*(ROW(2:21)>COLUMN(A:T)),(D2:D21-E2:E21))>=60),),)
复制代码
回复

使用道具 举报

发表于 2012-6-9 08:56 | 显示全部楼层
简化下省3个字符,115,112,还没有防错:
  1. =OFFSET(C1,MATCH(0=1,MMULT((A2:A21&B2:B21=TRANSPOSE(A2:A21&B2:B21))*(ROW(2:21)>COLUMN(A:T)),(D2:D21-E2:E21))<60,),)

  2. =OFFSET(C1,MATCH(0=1,MMULT(("甲"&B2:B21=TRANSPOSE(A2:A21&B2:B21))*(ROW(2:21)>COLUMN(A:T)),(D2:D21-E2:E21))<60,),)
复制代码

评分

参与人数 1 +3 收起 理由
飞雨飘 + 3 未处理出错情况

查看全部评分

回复

使用道具 举报

发表于 2012-6-9 22:02 | 显示全部楼层
第三题:=INDEX(C2:C21,MATCH(1,IF(MMULT((A2:A21=TRANSPOSE(A2:A21))*(ROW(A2:A21)>=TRANSPOSE(ROW(A2:A21)))*(B2:B21=TRANSPOSE(B2:B21)),D2:D21-E2:E21)>60,1,0),))
第四题:=INDEX(C2:C21,MATCH(1,(MMULT((A2:A21=TRANSPOSE(A2:A21))*(ROW(A2:A21)>=TRANSPOSE(ROW(A2:A21)))*(B2:B21=TRANSPOSE(B2:B21)),D2:D21-E2:E21)>60)*(A2:A21="甲"),))

评分

参与人数 1 +3 收起 理由
飞雨飘 + 3 未处理出错情况

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 17:29 , Processed in 0.777256 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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