我正在尝试编写一个 Excel 公式来复制 R 中的 upper.tri、lower.tri 和 diag 矩阵函数。
在 Excel 中,上(右)总和 - 本例中的绿色区域是列数大于行数的区域,橙色区域反之亦然。 黄色单元格(对角线)是行号等于列号的位置。
虽然有 ROW()、COLUMN() 和 SUMIF() 函数,但我在 Excel 中找不到用于此计算的任何内置矩阵函数,我确信一定有一些优雅的方法来结合这些函数无需编写VBA代码。所以问题基本上是如何根据行和列引用的值确定一系列单元格的总和?
请注意。我不想通过条件格式或按颜色应用过滤器来实现此目的。这个小例子仅用于说明目的。
对于上三:
=SUM((SEQUENCE(ROWS(A1:E5))<SEQUENCE(,COLUMNS(A1:E5)))*A1:E5)
对角线
=SUM((SEQUENCE(ROWS(A1:E5))=SEQUENCE(,COLUMNS(A1:E5)))*A1:E5)
下
=SUM((SEQUENCE(ROWS(A1:E5))>SEQUENCE(,COLUMNS(A1:E5)))*A1:E5)