从具有多个条件的数据中提取数组公式

从具有多个条件的数据中提取数组公式

我有下表,其中包含笔记本电脑的详细信息

(Laptops)
Name                  |  RAM   |  CPU
===========================================
Laptop Example 1      | 4      | Intel® Core™ i3-8130U   
Laptop Example 2      | 8      | Intel® Core™ i5-8250U 
Laptop Example 3      | 16     | Intel® Core™ i5-8250U
Laptop Example 4      | 8      | Intel® Core™ i7-8550U
Laptop Example 5      | 8      | Intel® Core™ i5-8265U
...

我想要创建一个使用多个条件的数组,以便简单地返回笔记本电脑的。在本例中,我想返回带有& 的name笔记本电脑的名称。8 RAMCPUi5-

在上面的表格中,我期望返回

(Array)
Name                  
====================== 
Laptop Example 2       
Laptop Example 5      

我对数组公式没有太多经验,但我能够使用以下方法返回所有笔记本电脑名称8 RAM

=IFERROR(INDEX(Laptops!A$2:A$500,SMALL(IF(Laptops!$B$2:$B$500=8,ROW(Laptops!A$2:A$500)-ROW(Laptops!A$2)+1),ROWS(Laptops!A$2:A2))),"")

CPU包含i5-

=IFERROR(INDEX(Laptops!A$2:A$500,SMALL(IF(IFERROR(SEARCH("i5-", Laptops!$C$2:$C$500), 0),ROW(Laptops!A$2:A$500)-ROW(Laptops!A$2)+1),ROWS(Laptops!A$2:A2))),"")

但无法使用该AND函数将两者结合起来?我试过了……

=IFERROR(INDEX(Laptops!A$2:A$500,SMALL(IF(AND(Laptops!$B$2:$B$500="8",IFERROR(SEARCH("i5-", Laptops!$C$2:$C$500), 0),ROW(Laptops!A$2:A$500)-ROW(Laptops!A$2)+1),ROWS(Laptops!A$2:A2))),""))

但是,它没有返回任何内容。任何帮助都将不胜感激。

答案1

我将使用数据透视表,然后根据 RAM 进行过滤,并将过滤器应用于 CPU 列。

一些帮助做到这一点这里

答案2

我回答你这个问题的方法是这样的

1.- 获取一些辅助列

添加“CPU 系列”列

=left(right(C2;8);2)

如果您想在过滤时看到 RAM,您可以复制 Ram 字段

=B2&"gb"

2.- 插入数据透视表

选择整个数据范围,按 CTRL+SHIFT+空格键,然后转到“插入”>“数据透视表”

在这里,您可以选择RamCPU Family作为过滤器,在标签字段上,您将添加Laptop NameCPU

在此处输入图片描述

翻译:=LEFT(RIGHT(C2;8);2)

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

这是我的方法,不涉及VBA

干杯。

相关内容