You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Excel公式对二维矩阵逐行求和生成一维数组并操作

当然可以!Excel里有好几招不用辅助列的办法,直接帮你把二维矩阵逐行计算成目标一维数组,后续不管是做>=2这类判断还是MATCH查找都能直接嵌套使用,完全满足你要的简洁性需求。

方法1:动态数组公式(Excel 365/2021及以后版本)

这是最直观也最推荐的方式,因为Excel 365开始支持的动态数组函数专门解决这类问题:

  • 用BYROW函数,它会遍历数组的每一行,对每行执行你指定的计算逻辑。比如你要每行求和,公式就是:
    =BYROW({1,0,0;0,0,1;1,0,1}, LAMBDA(row, SUM(row)))
    
    输入完直接回车,Excel会自动生成垂直数组{1;1;2},而且是动态更新的——如果原矩阵的行数或内容变化,结果会自动跟着调整。
  • 要是你想直接用这个数组做后续操作,比如找第一个求和等于2的行号,直接嵌套就行:
    =MATCH(2, BYROW({1,0,0;0,0,1;1,0,1}, LAMBDA(row, SUM(row))), 0)
    
    或者直接判断哪些行的求和结果满足>=2:
    =BYROW({1,0,0;0,0,1;1,0,1}, LAMBDA(row, SUM(row)>=2))
    

方法2:兼容旧版Excel的数组公式(需按Ctrl+Shift+Enter确认)

如果你的Excel版本不支持动态数组(比如2019及更早),也可以用传统数组公式实现:

  • 借助MMULT矩阵乘法函数,配合一个列向量来实现逐行求和:
    =MMULT({1,0,0;0,0,1;1,0,1}, ROW(INDIRECT("1:"&COLUMNS({1,0,0;0,0,1;1,0,1})))^0)
    
    输入完不要直接回车,要按Ctrl+Shift+Enter(旧版数组公式的确认方式),Excel会生成目标数组{1;1;2}。
  • 也可以用SUM结合转置的单位数组来实现:
    =SUM({1,0,0;0,0,1;1,0,1} * TRANSPOSE(COLUMN(A:C)^0))
    
    同样需要按Ctrl+Shift+Enter确认。

这些方法都不需要额外的辅助列,所有计算都在单个公式里完成,完全符合你要的简洁性要求。

内容的提问来源于stack exchange,提问作者tobriand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:35:37