有没有办法告诉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}>=2
或MATCH(2,{1;1;2},0)
这样的表达式进一步转换 数组,但重要的是不是这样很多外在表达式 转换发生在哪里。
当然,在很多情况下,大部分内容可以外包给辅助专栏上的操作,但有很多时候解决空间问题感觉就像一种不优雅的方法。
答案 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输入公式。