【问题标题】:Excel filter formula for multiple criteria and value in arrayExcel过滤器公式用于数组中的多个条件和值
【发布时间】:2022-11-03 06:31:57
【问题描述】:

我正在尝试从一个表中过滤一些信息,但我需要标准来在数组中查找一些信息。我将举一个例子来解释我需要什么:

我需要让每个人从阵列1E2:E4 列出在表格1A2:C4 并且有周一是的在各自的列上。

希望这是有道理的,并且有人能够帮助我解决这个问题。

非常感谢!

尝试使用过滤器公式,但我无法使其将数组用作过滤器。

【问题讨论】:

  • 这不是一个完成免费工作的网站,至少展示你尝试过的东西。您将需要“过滤器”+“和”。
  • 你不会得到E2:E4MondayYes 中显示的列表,那么Anyone 是什么意思?解释更多
  • 感谢您回复@Monofuse。我可以使用任一条件进行过滤,但不能使用数组 (E2:E4) 进行过滤。我只能使用带有单一条件的过滤器,即“=”,而不是获取列表中的值或多个值。
  • 感谢您联系@MayukhBhattacharya。我需要从数组 E2:E4 中过滤列表(这是数据的示例,而不是实际数据)。我需要使用这个数组作为条件过滤TABLE1,但是我需要获取所有行与TABLE1进行比较,并获取数组下满足Day和Include条件的名称。
  • @FerPavao 啊明白了,这就是我所期待的,但根据给出的屏幕截图,输出仍将仅显示 Fulano。它不会给Ciclano

标签: arrays excel filter excel-formula


【解决方案1】:

这个怎么样,它会给你所需输出,


• 单元格中使用的公式G2

=FILTER(A2:A4,(MMULT(--(TRANSPOSE(E2:E4)=A2:A4),ROW(E2:E4)^0)=1)*(B2:B4="Monday")*(C2:C4="Yes"))

以下是其他选择:


• 单元格中使用的公式I2

=LET(_table,A2:C4,
_name,INDEX(_table,,1),
_day,INDEX(_table,,2),
_include,INDEX(_table,,3),
_array,E2:E4,
x,--BYROW(_name,LAMBDA(a,(SUM(COUNTIFS(a,_array))>0))),
FILTER(_name,(x=1)*(_day="Monday")*(_include="Yes")))


• 单元格中使用的公式K2

=LET(_table,A2:C4,
_name,E2:E4,
_map,MAP(INDEX(_table,,1),LAMBDA(m,IF(SUM(COUNTIF(m,_name))>0,m,""))),
_other,(INDEX(_table,,2)="Monday")*(INDEX(_table,,3)="Yes"),
FILTER(TAKE(_table,,1),(_map<>"")*_other))

【讨论】:

  • 太好了@Mayukh Bhattacharya。这解决了它。非常感谢!
  • @FerPavao 听起来不错,很高兴知道您能够解决。
【解决方案2】:

我同意提到这个地方不适合做作业的用户,但我知道有关它的有用信息。

微软在link 中解释了如何在过滤器中使用“AND”

基本上使用* 运算符,我使用此信息模仿您的作业以使用过滤器返回值。

公式:

=FILTER(A2:C4, (B2:B4=D6) * (  C2:C4=D7),"")

D6 = 星期一
D7 = 是

【讨论】:

  • 感谢回复。您呈现的方式有效,因为您仅使用 1 个单元格或值作为参考。我这里需要的是使用整个数组进行比较,即 E2:E4。
猜你喜欢
  • 1970-01-01
  • 2021-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
  • 1970-01-01
  • 1970-01-01
  • 2019-10-28
相关资源
最近更新 更多