在Excel中将数组与标量中间方程相乘

时间:2018-08-25 22:27:40

标签: excel

我想在Excel中执行以下矩阵操作,其中a和b是标量,A和B是数组(为简单起见,我们称等维),在一行内:

(aA)(bB)

使用MMULT只做AB很简单,但是我看不到如何进行标量乘法,除非在一组新的单元格中天真地创建标量乘法并将其插入MMULT-例如a * A10:B20或仅给出错误的内容。

如果有可能将加法((aA)(bB)+ cC)放在一行中,则奖励。

3 个答案:

答案 0 :(得分:0)

由于Excel公式绑定到具有一个单一值的一个单元格,并且您的结果将是具有多个值的矩阵,因此,如果没有ExcelVBA,我将无法做到这一点。 即使这样,在VBA中定义相应的函数后,标量乘法也看起来像= mult(A1; B2:D4)。这是可能的。 但是因为您提到AB没问题(我也不是怎么做,但是无论如何)...为什么不将对角矩阵与标量一起用作值?也许有帮助。

答案 1 :(得分:0)

INDEX将返回一个数组,然后可以将其放入MMULT:

=MMULT(INDEX(A1:B2*4,,),INDEX(D1:E2*3,,))

作为数组公式,必须使用Ctrl-Shift-Enter确认

第二行数字只是通过手动进行乘法运算证明公式有效。

enter image description here

答案 2 :(得分:0)

您可以使用简单的数组公式执行此操作:

{=MMULT(4*A1:B2,3*D1:E2)+7*A4:B5} 

将数组输入(Control-Shift-Enter)分成4个单元格(选择4个单元格,然后对输入的数组进行数组输入)