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

Google Sheets中65x65矩阵转对角矩阵公式出错,求正确解法

Google Sheets 生成对角矩阵的正确公式

原公式失效的核心问题是用了单元格的绝对行列号判断,而非矩阵内部的相对位置:ROW(B10:BN74)返回单元格实际行号(比如B10是10),COLUMN(B10:BN74)返回实际列号(比如B列是2),只有行号等于列号的极少数单元格会被保留,完全不符合对角线的逻辑。

要生成仅保留原矩阵对角线元素的对角矩阵,必须基于矩阵内部的相对行列索引判断,正确公式如下:

针对命名区域table_name的公式

=ArrayFormula(IF(ROW(table_name)-MIN(ROW(table_name))+1=COLUMN(table_name)-MIN(COLUMN(table_name))+1, table_name, 0))

公式逻辑说明

  • ROW(table_name)-MIN(ROW(table_name))+1:计算每个单元格在矩阵内的相对行号(从1开始递增)
  • COLUMN(table_name)-MIN(COLUMN(table_name))+1:计算每个单元格在矩阵内的相对列号(从1开始递增)
  • 当相对行号与相对列号相等时,保留原矩阵的对应元素;否则填充0

验证示例

以你提供的4x4矩阵为例:
输入矩阵(假设命名为test_matrix):

[[0.16595599 0.78837343 0.94121201 0.9733295 ]
 [0.61527215 0.61785812 0.57019677 0.72195175]
 [0.22426931 0.29664025 0.11872772 0.31798318]
 [0.41426299 0.0641475  0.69247212 0.56660145]]

使用上述公式后,将得到预期的对角矩阵:

[[0.16595599 0.         0.         0.        ]
 [0.         0.61785812 0.         0.        ]
 [0.         0.         0.11872772 0.        ]
 [0.         0.         0.         0.56660145]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 03:05:29