提出了这个问题,由于具体问题的答案是一个拼写错误,因此被删除:
https://stackoverflow.com/questions/59289065/excel-non-adjecent-cells-as-input-to-array-function-min-and-isblank https://stackoverflow.com/questions/59289065/excel-non-adjecent-cells-as-input-to-array-function-min-and-isblank
这是问题:
我试图找到每列至少有两个(不相邻)单元格的值,并对多列(总共 13 列)的这些单元格进行求和。
使事情变得复杂的是我希望该函数将空单元格视为零。
只要单元格相邻,我就可以让它工作,但是当它们不相邻时,Excel 会弹出“此函数的参数太多”。
我对相邻单元格的公式是这样的(不太漂亮,抱歉!):
{=SUM(MIN(IF(ISBLANK(P3:P4);0;P3:P4));MIN(IF(ISBLANK(Q3:Q4);0;Q3:Q4));MIN(IF(ISBLANK(R3:R4);0;R3:R4));MIN(IF(ISBLANK(S3:S4);0;S3:S4));MIN(IF(ISBLANK(T3:T4);0;T3:T4));MIN(IF(ISBLANK(U3:U4);0;U3:U4));MIN(IF(ISBLANK(V3:V4);0;V3:V4));MIN(IF(ISBLANK(W3:W4);0;W3:W4));MIN(IF(ISBLANK(X3:X4);0;X3:X4));MIN(IF(ISBLANK(Y3:Y4);0;Y3:Y4));MIN(IF(ISBLANK(Z3:Z4);0;Z3:Z4));MIN(IF(ISBLANK(AA3:AA4);0;AA3:AA4));MIN(IF(ISBLANK(AB3:AB4);0;AB3:AB4)))}
这将在“总月数”列中给出所需的输出。
我尝试对非相邻单元格使用 CHOOSE 函数作为测试(类似于这个问题 https://stackoverflow.com/questions/20926737/including-a-non-adjacent-cell-in-a-range-series-in-the-xirr-formula),但这会弹出“这个公式有问题”
=SUM(MIN(IF(ISBLANK(CHOOSE{1;2};P16;P18));0;CHOOSE({1;2};P16;P18)))
所以现在我想知道,这可以做到吗?我错过了什么吗?
我将不胜感激的帮助!
亲切的问候,
艾米
虽然这个问题的答案是缺少一个(
在第一个之后CHOOSE
,我开始研究那个可怕的长公式的更简单版本,并想将其发布在这里。所以问题是,“有没有更简单的方法而不使用vba?”
由于范围实际上按行相邻,但逐列比较,我们可以以数组形式使用 MMULT。通过使用MMULT,我们可以创建一个最小数字的数组,0
s并对它们求和:
=SUM(MMULT(N(IF(A1:E1>A2:E2,IF(A2:E2<>"",A2:E2),IF(A1:E1<>"",A1:E1))),TRANSPOSE(COLUMN(A1:E1)^0)))
这是一个数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 确认,而不是 Enter。
编辑:想太多了,这更简单:
=SUM(IF(A1:E1>A2:E2,IF(A2:E2<>"",A2:E2),IF(A1:E1<>"",A1:E1)))
仍然是数组公式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)