ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: czzqb

[分享] [分享]从头细说MMULT

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2007-10-14 14:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:MMULT

先收下,回去复习一下线性代数.

TA的精华主题

TA的得分主题

发表于 2007-10-14 16:37 | 显示全部楼层

真的不懂

TA的精华主题

TA的得分主题

发表于 2007-10-14 17:50 | 显示全部楼层

小样行,放大不行了,不是说6401单元格吗?

4KmzdSyY.rar (11.54 KB, 下载次数: 35)


请朋友帮一下

[此贴子已经被作者于2007-10-14 17:51:00编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-10-14 19:08 | 显示全部楼层
QUOTE:
以下是引用wangtx218在2007-10-14 17:50:29的发言:

小样行,放大不行了,不是说6401单元格吗?



请朋友帮一下


你是指第6行(粉红色)中MMULT公式显示错误?

因为它引用了C列到G列的空单元格,而空单元格不是数值,为MMULT所不允许,所以出错。把这些空单元格都填上0就好了。

或者公式改为:

=MMULT(TRANSPOSE(ROW(DATA))^0,1*DATA)

[此贴子已经被作者于2007-10-14 19:14:06编辑过]

TA的精华主题

TA的得分主题

发表于 2007-10-14 19:19 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

不是,我想将下面这公式写在绿色区域中

=MMULT(--(A7:A156=TRANSPOSE(品名)),(收发=C5:G5)*(日期=H3)*数量)

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-10-14 20:33 | 显示全部楼层

这里出现的问题和MMULT无关。

在多单元格数组区域里,单元格格式中的“锁定”状态必须是一致的。而你的附件在这个区域里有些单元是锁定的,有些不锁定。把他们改成一致就能输入了。在你按下三键的时候,计算机不是给了一个提示吗?

TA的精华主题

TA的得分主题

发表于 2007-10-14 22:37 | 显示全部楼层
总结得异常好,我已经整理成文本了

TA的精华主题

TA的得分主题

发表于 2007-10-15 00:10 | 显示全部楼层

老郑真是太“细说”了。

嘻嘻,我数学很差,老郑说的“两腿发抖”便是俺了。借着这个帖子,找到刚刚“不抖”时的解答,哈哈。

我用MMULT解题的时候,思路是反过来的,现在也分享一下我的笨招——“凑”字诀

MMULT(array1,array2)函数帮助有两个描述必须牢记(嘻嘻,我基本每次都翻函数帮助):

1、“结果矩阵的行数与 array1 的行数相同,矩阵的列数与 array2 的列数相同。”

2、“Array1的列数应该与Array2的行数相等”

因而,从目标倒推过来:

1、如果要生成的目标数组行、列数尺寸与这两点要求有出入,“凑”不成,那就不考虑用MMULT或者还需要别的步骤,比如那个如影随形的TRANSPOSE()。

2、根据目标数组的行列数尺寸,反推Array1应该是多少行;Array2应该是多少列。有时候,把原本想作为第一参数的改头换脸作了第二参数,公式就缩短了很多。因此,如果没有把握,不妨两个参数的位置都“凑凑看”。

[此贴子已经被作者于2007-10-15 0:13:09编辑过]

TA的精华主题

TA的得分主题

发表于 2007-10-15 00:23 | 显示全部楼层

array1 =m * n (m 行, n 列)

array2 =n * x

array1 * array2 行列关系 = mn*nx = m*x (结果是 m 行, x 列)

只要记住 红色部分一定要相等.俗称 "尾巴必须等于头".

TA的精华主题

TA的得分主题

发表于 2007-10-15 14:19 | 显示全部楼层
QUOTE:
以下是引用czzqb在2007-10-14 20:33:59的发言:

这里出现的问题和MMULT无关。

在多单元格数组区域里,单元格格式中的“锁定”状态必须是一致的。而你的附件在这个区域里有些单元是锁定的,有些不锁定。把他们改成一致就能输入了。在你按下三键的时候,计算机不是给了一个提示吗?

谢谢!我已改好了。

EtHHILDp.rar (24.2 KB, 下载次数: 31)


好玩,没用过。真的用时要加点宏

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

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-12-24 03:03 , Processed in 0.034550 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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