在不运行脚本的情况下,是否可以让=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)。
发布于 2021-01-31 17:32:21
下面是如何试用FILTER()的方法

B1中的公式
=FILTER(A1:A5,NOT(MMULT(--(ROW(A1:A5)={2;4}),{1,1})))我已经将{A2,A4}转换成一个水平的数字数组。在你的例子中,你也可以直接使用,比如说C1:C2,然后通过TRANSPOSE(C1:C2)来引用它。此外,我将MMULT()的第二个参数写出为垂直数组,但您可以(使用相同的数据)引用SEQUENCE(COUNT(C1:C2),,,0)。有效地,使它看起来像:

B1中的公式
=FILTER(A1:A5,NOT(MMULT(--(ROW(A1:A5)=TRANSPOSE(C1:C2)),SEQUENCE(COUNT(C1:C2),,,0))))发布于 2021-01-31 18:24:45
在看了一些交流之后,我不确定你是不是想要这样的东西。
=IFERROR(SMALL(IF(ISNUMBER(MATCH($A$1:$A$5,$B$1:$B$3,0)),"",$A$1:$A$5),ROWS($A$1:$A1)),"")
您可能需要也可能不需要通过数组输入来实现此公式,具体取决于您的Excel版本。
这里,Column A包含A to An元素,而Column B包含A to Ax元素。根据您的要求,交换真部件和假部件以获得所需的列表。
发布于 2021-01-31 22:27:34
减去范围A1:A5中的A2和A4的
1]结果放在单独的单元格中
在B1中,公式被复制下来:
=IFERROR(INDEX(A$1:A$5,AGGREGATE(15,6,ROW($1:$5)/ISNA(MATCH(A$1:A$5,IF({1,0},A$2,A$4),0)),ROW(A1))),"")2]在单个单元格中合并结果
在C1中,数组(CSE)公式:
=TEXTJOIN(", ",,IF(N(IF(1,ISNA(MATCH(A1:A5,IF({1,0},A2,A4),0)))),A1:A5,""))

https://stackoverflow.com/questions/65977112
复制相似问题