首页 > 解决方案 > 结果数组是Excel中两个数组的减法

问题描述

在不运行脚本的情况下,是否可以=small(array, k)接受一个数组项作为((A:An)-(A1; A5; ... ; Ax)).

((A:An)-(A1; A5; ... ; Ax))在我的推理中,这应该返回A2; A3; A4; A6; A7; ... ; An,并且省略的部分 (...) 将不包含Ax.

Excel 在计算((A:An)-(A1; A5; ... ; Ax))零件时返回#VALUE。

我想它可以在 VBA 中完成,但似乎应该可以在公式栏中以某种方式获得此结果。

有人可以对这个问题有所了解吗?

例如:(A1:A5-(A2;A4))应该导致(A1; A3; A5).

标签: excelexcel-formula

解决方案


以下是您可以尝试的方法FILTER()

在此处输入图像描述

中的公式B1

=FILTER(A1:A5,NOT(MMULT(--(ROW(A1:A5)={2;4}),{1,1})))

我已经翻译{A2,A4}成一个水平的数字数组。在您的情况下,您也可以C1:C2通过TRANSPOSE(C1:C2). 此外,我将MMULT()out 的第二个参数写为垂直数组,但您可以(使用相同的数据)参考SEQUENCE(COUNT(C1:C2),,,0). 实际上,使它看起来像:

在此处输入图像描述

中的公式B1

=FILTER(A1:A5,NOT(MMULT(--(ROW(A1:A5)=TRANSPOSE(C1:C2)),SEQUENCE(COUNT(C1:C2),,,0))))

推荐阅读