Excel 基于多个字符串条件获取ID

Excel 基于多个字符串条件获取ID,excel,excel-formula,match,Excel,Excel Formula,Match,以下数据结构: ID CRIT1 CRIT2 1 L M 2 H M 3 H H 我想得到Crit1=H和Crit2=H的ID。 在第二个工作表中,我想用满足我的条件的ID构建一个表。因此,在本例中,只有3 我试过使用INDEX/MATCH和COUNTIF 但是,到目前为止,还没有基于字符串和范围的有用解决方案。我建议使用不包含总计或小计的数据透视表,以表格形式,将所有三列作为行,并进行筛选,以选择CRIT1和CRIT2中的

以下数据结构:

ID   CRIT1    CRIT2
1    L        M
2    H        M
3    H        H
我想得到Crit1=H和Crit2=H的ID。 在第二个工作表中,我想用满足我的条件的ID构建一个表。因此,在本例中,只有
3

我试过使用INDEX/MATCH和COUNTIF


但是,到目前为止,还没有基于字符串和范围的有用解决方案。

我建议使用不包含总计或小计的数据透视表,以表格形式,将所有三列作为行,并进行筛选,以选择
CRIT1
CRIT2
中的每一列的
H


如果不使用宏,您只能在满足条件的情况下复制单个单元格,如果不满足条件,则不复制。将此公式粘贴到A2中,然后将其复制到右侧(其他列)和底部(其他行):


下面是一个公式解决方案,它将创建没有空格的表格

这假设您的源数据位于Sheet1中。根据需要进行编辑

=IFERROR(INDEX(Sheet1!A$2:A$9999,SMALL(IF((Sheet1!B$2:B$9999="H")*(Sheet1!C$2:C$9999="H"),ROW(Sheet1!A$2:A$9999),9E+99),ROW(1:1))-1),"")
这是一个数组公式,必须用Ctrl+Shift+Enter确认

现在,尽可能地复制downard


注意:将9999调整为适合您的情况的行号。

好的,因此透视表可以工作是的,但是我想绘制一个图表,这似乎是透视数据模型无法实现的


关于配方奶粉,我认为它不起作用。


它将为我提供所有具有crit1=h或crit2=h的ID

您是否可以创建一个第四列,其中包含“=IF(AND(B2=“h”,C2=“h”),TRUE,FALSE)”,然后过滤该列中的真值?ID是否完全不同,或者您是否可以获得重复的ID?以及将生成的所有空格如何处理?正如OP所要求的,这不是一个很好的表。谢谢,但是我不能基于该解决方案创建图表。我认为这很接近,但是它返回了所有ID。请参阅下文。我刚刚又测试了一次。只有当两个条件都是“h”时,它才会返回ID。这是一个包含公式的文件。对我来说,它不起作用@heyhey33我看到有一个打字错误。现在修好了。查看更新的答案。抱歉,不起作用,请查看它是否起作用。我刚刚又测试了一次。它仅在两个条件都为“h”时返回ID。您可以共享excel文件吗?
=IFERROR(INDEX(Sheet1!A$2:A$9999,SMALL(IF((Sheet1!B$2:B$9999="H")*(Sheet1!C$2:C$9999="H"),ROW(Sheet1!A$2:A$9999),9E+99),ROW(1:1))-1),"")