ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6186|回复: 32

[Excel 函数与公式] [第41期]根据<用量表>及<计划>计算出每日各种材料使用数量[已总结]

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-10-29 16:00 | 显示全部楼层 |阅读模式
要求:
1、B2:E6输入一个多单元格数组公式(生成内存数组)
2、公式长度(含等号=)小于等于300字符
3、除输入公式外,不得:修改现有数据、定义名称、使用VBA、辅助列等其它操作事项。
4、答案发往我的邮箱:chundongxu@sina.com
   答案名称格式:41期_函数题_ID
6、请勿在跟贴中直接发答案(跟帖中如附答案一律不得分)
注:本题取材于论坛的一个实例
------------------------------------------------------------------------------------------------------------------------
截止本贴修改时,已收以下会员答案:fdd、samsoncsr、micohui、yoka、huisiming、andychen1208、lws、wanglei569、ultra、shaowu459、lbzcc、jyhxr、zhanhewang、wenshui2006、chrisfang、willin2000、alzeng 、wjzwang、hellohaha ——目前正确答案中最短公式为113字符
提醒答题朋友:注意要求第1点(在公式中按下F9键后,生成一个5行4列的内存数组即为正确答案


[ 本帖最后由 xcd 于 2008-11-21 10:17 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-10-29 18:13 | 显示全部楼层
先占位,再研究!
没有收到你的邮件
              --xcd

TA的精华主题

TA的得分主题

发表于 2008-10-30 07:09 | 显示全部楼层
答案已发送,跟帖占位!
fdd
=MMULT(TRANSPOSE(ROW(用量表!C2:C18))^0,INDEX(SUMIF(计划!B1:F1,用量表!A2:A18,OFFSET(计划!B1:F1,{1,2,3,4,5},))*用量表!C2:C18,,MATCH(N(INDIRECT(""A""&ROW())),计划!A2:A6,))*(--(合计!B1:E1=用量表!B2:B18)))
多单元格数组公式,长度178字符,虽然计算结果正确,但不是内存数组,不符合要求1,故不得分。SUMIF部份的思路是正确的,如能再进一步细化,就离成功不远了。谢谢您的参与

                                                                        --xcd


呵呵,版主好快呀!看看这个答案:
=MMULT(TRANSPOSE(ROW(用量表!C2:C18))^0,INDEX(SUMIF(计划!B1:F1,用量表!A2:A18,OFFSET(计划!B1:F1,{1,2,3,4,5},))*用量表!C2:C18,,MATCH(A2:A6,计划!A2:A6,))*(合计!B1:E1=用量表!B2:B18))
按F9看仍然不是5行4列的结果(INDEX只存在于多单元格里的缘故)。但我认为它应该是符合题目要求的!
请版主赐教!
---------------------

TO:FDD
你刚提供的公式也能生成一个1行4列的内存数组,但仍不符题目要求的5行4列的要求.原因就在于你不当使用了INDEX,关于index函数能否生成内存数组,我记得Apolloh版主有个贴就是关于它的,你可以搜索一下.  --XCD


很可惜,这一期没有完成答案。现在把它做完整(晕,刚才把版主的公式复制上来了!):
=MMULT(TRANSPOSE(SUMIF(计划!B1:F1,用量表!A2:A18,OFFSET(计划!B1:F1,TRANSPOSE(MATCH(A2:A6,计划!A2:A6,)),))*用量表!C2:C18),--(合计!B1:E1=用量表!B2:B18))

[ 本帖最后由 fdd 于 2009-1-16 21:50 编辑 ]

TA的精华主题

TA的得分主题

发表于 2008-10-30 15:27 | 显示全部楼层
147字符,跟贴占位。

继续优化为142字符。

再次优化为124字符。

samsoncsr
=SUM((计划!B1:F1&T(INDEX(1:1,COLUMN()))=用量表!A2:A18&用量表!B2:B18)*用量表!C2:C18*OFFSET(计划!B1:F1,MATCH(INDEX(A:A,ROW()),计划!A:A,)-1,))
多单元格数组公式,长度124字符,虽然计算结果正确,但不是内存数组,不符合要求1,故不得分。谢谢您详细的步骤分析。谢谢您的参与

                                                                        --xcd

TA的精华主题

TA的得分主题

发表于 2008-10-30 18:27 | 显示全部楼层
交卷!答案已发送,136个字符
micohui
=MMULT(MMULT(--(TRANSPOSE(计划!A2:A6)=A2:A6),计划!B2:F6),MMULT(--(TRANSPOSE(用量表!A2:A18)=TRANSPOSE(计划!B1:F1)),(用量表!B2:B18=B1:E1)*用量表!C2:C18))
多单元格数组公式(内存数组),长度136字符,完全正确,评2分。公式可简化到123字符=MMULT(MMULT(N(TRANSPOSE(计划!A2:A6)=A2:A6),计划!B2:F6),MMULT(N(TRANSPOSE(用量表!A2:A18=计划!B1:F1)),(用量表!B2:B18=B1:E1)*用量表!C2:C18))

                                                                        --xcd

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-10-30 19:51 | 显示全部楼层
答案已发送,跟帖占位!134字符
yoka
=MMULT(MMULT(N(TRANSPOSE(计划!A2:A6)=A2:A6),计划!B2:F6),MMULT(N(TRANSPOSE(用量表!A2:A18)=TRANSPOSE(计划!B1:F1)),(用量表!B2:B18=B1:E1)*用量表!C2:C18))
多单元格数组公式(内存数组),长度134字符,完全正确,评2分。公式可简化到123字符,同上

                                                                        --xcd

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-10-31 08:25 | 显示全部楼层
跟帖占位!答案已发送。修改一下123个字符.
huisiming
=MMULT(MMULT(N(TRANSPOSE(计划!A2:A6)=A2:A6),计划!B2:F6),MMULT(N(TRANSPOSE(用量表!A2:A18=计划!B1:F1)),(用量表!B2:B18=B1:E1)*用量表!C2:C18))
多单元格数组公式(内存数组),长度123字符,完全正确,评2分。

                                                                        --xcd

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-10-31 11:06 | 显示全部楼层

回复 1楼 xcd 的帖子

跟帖占位,答案已发送
Andychen
=SUM(IF(B$1&计划!$B$1:$F$1=用量表!$B$2:$B$18&用量表!$A$2:$A$18,用量表!$C$2:$C$18,0)*(OFFSET(计划!$B$1:$F$1,MATCH(合计!$A2,计划!$A$2:$A$6,0),,,)))
是一个右拉、下拉的单元格数组公式,128字符,虽然计算结果正确,但不是内存数组,不符合要求1,故不得分。谢谢您的参与

                                                                        --xcd

TA的精华主题

TA的得分主题

发表于 2008-10-31 12:56 | 显示全部楼层
答案已发送,请XCD版主查收。129字符
把合计表的工作表名去掉,可以减到123个字符。
lws
=MMULT(MMULT(MMULT(N(合计!A2:A6=TRANSPOSE(计划!A2:A6)),计划!B2:F6),TRANSPOSE(N(计划!B1:F1=用量表!A2:A18))),(合计!B1:E1=用量表!B2:B18)*用量表!C2:C18)
解题思路与5、6、7楼雷同,多单元格数组公式(内存数组),长度129字符,完全正确,评2分。公式可简化到123字符。

                                                                        --xcd

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-10-31 14:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
占位,110;我偷鸡
不偷鸡的解法:130

---------------------------------------
第一个也偷得太大了,不算,   --xcd

--------------------------------------


wanglei5691
=MMULT(N(OFFSET(计划!A1,MATCH(A2:A6,计划!A2:A6,),COLUMN(A:E))),MMULT(N(TRANSPOSE(用量表!A2:A18=计划!B1:F1)),(用量表!B2:B18=B1:E1)*用量表!C2:C18))
多单元格数组公式(内存数组),长度130字符,完全正确,评2分。解题思路与5、6、7、9楼相近,不同之处在于它用offset根据<合计>表的日期A2:A6顺序三维引用<计划>表对应日期的产品产量,而5、6、7、9楼则使用MMULT来实现它。“偷鸡”的解法就不展示出来,想学的找王版私底下切磋

                                                                        --xcd

评分

1

查看全部评分

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 01:21 , Processed in 0.041729 second(s), 20 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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