首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结果数组是Excel中两个数组的减法

结果数组是Excel中两个数组的减法
EN

Stack Overflow用户
提问于 2021-01-31 16:32:32
回答 3查看 64关注 0票数 1

在不运行脚本的情况下,是否可以让=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)

EN

回答 3

Stack Overflow用户

发布于 2021-01-31 17:32:21

下面是如何试用FILTER()的方法

B1中的公式

代码语言:javascript
复制
=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中的公式

代码语言:javascript
复制
=FILTER(A1:A5,NOT(MMULT(--(ROW(A1:A5)=TRANSPOSE(C1:C2)),SEQUENCE(COUNT(C1:C2),,,0))))
票数 2
EN

Stack Overflow用户

发布于 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元素。根据您的要求,交换真部件和假部件以获得所需的列表。

票数 0
EN

Stack Overflow用户

发布于 2021-01-31 22:27:34

减去范围A1:A5中的A2和A4的

1]结果放在单独的单元格中

B1中,公式被复制下来:

代码语言:javascript
复制
=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)公式:

代码语言:javascript
复制
=TEXTJOIN(", ",,IF(N(IF(1,ISNA(MATCH(A1:A5,IF({1,0},A2,A4),0)))),A1:A5,""))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65977112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档