将2d矩阵的行(或列)与Excel公式中的1d数组相加

时间:2018-05-28 11:54:54

标签: excel excel-formula

有没有办法告诉Excel它应该在2d矩阵中执行每行计算?例如,如果我有一个数组定义

{1,0,0;0,0,1;1,0,1}

1 0 0
0 0 1
1 0 1

是否有一个公式可以让我对数组{1;1;2}进行操作?

最终的目标很可能是使用{1;1;2}>=2MATCH(2,{1;1;2},0)这样的表达式进一步转换 数组,但重要的是不是这样很多外在表达式 转换发生在哪里。

当然,在很多情况下,大部分内容可以外包给辅助专栏上的操作,但有很多时候解决空间问题感觉就像一种不优雅的方法。

1 个答案:

答案 0 :(得分:2)

MMULT会做你想做的事。

{=MMULT({1,0,0;0,0,1;1,0,1},{1;1;1})}

用作数组公式(CSE)的结果为{1;1;2}

1,0,0       1       1*1+0*1+0*1  =  1
0,0,1   x   1   =   0*1+0*1+1*1  =  1
1,0,1       1       1*1+0*1+1*1  =  2

MMULT包含在将其参数作为数组的其他函数中时,可能不需要按Ctrl + Shift + Enter。例如

=MATCH(2,MMULT({1,0,0;0,0,1;1,0,1},{1;1;1}),0)

导致3而不使用Ctrl + Shift + Enter输入公式。