如何在半复杂的countifs()公式中得到精确匹配

时间:2011-07-22 09:12:10

标签: excel worksheet-function textmatching

首先,我正在使用的公式:

=countifs('page1'!AF:AF,$L6,'page1'!AA:AA,"="&RIGHT(M$2,3))+countifs('page1'!AF:AF,$L6,'page1'!AB:AB,"="&RIGHT(M$2,3))+countifs('page1'!AF:AF,$L6,'page1'!AC:AC,"="&RIGHT(M$2,3))+countifs('page1'!AF:AF,$L6,'page1'!AD:AD,"="&RIGHT(M$2,3))+countifs('page1'!AF:AF,$L6,'page1'!AE:AE,"="&RIGHT(M$2,3))+countifs('page1'!AF:AF,$L6,'page1'!AF:AF,"="&RIGHT(M$2,3))

好吧,现在,我试图与之匹敌的是:

I-A
II-A
III-A
etc

问题在于,如果在我看的范围内有与上述术语松散匹配的模式,则countifs()返回true而不完全评估整个字符串。换句话说,我特意在所述公式中寻找字符串“II-A”,但是countifs()返回的所有字符串的计数不仅是“II-A”而且是“I-A”。 Naughty countifs()!

有一种简单的方法可以做到这一点。我真的不想重新考虑/重写这些公式。我发现了一个名为exact()的方法,但是滚动它只是看起来很痛苦。任何帮助将不胜感激。


编辑编辑

这是一张测试表......

   A       B        C
1 I-A   II-A    1-Jan
2 II-A  III-A   2-Jan
3 I-A   II-A    2-Jan
4 I-A   II-A    3-Jan
5 II-A  III-A   4-Jan
6 I-A   II-A    7-Jan

=COUNTIFS($CC:$CC,"="&$C2,$AA:$AA,"="&$A1)+COUNTIFS($CC:$CC,"="&$C2,$BB:$BB,"="&$A1)

这个模拟测试公式得到0,但我要找的是1,因为一个I-A发生在1月1日......

1月1日的相同公式应该分别给我1和1月1日和1月1日。我试图计算每个日期IE回答问题的I-A,II-A,III-A的数量,“II-A在1月2日发生多少次,然后在1月3日发生,等等?”请注意,这是测试数据。实际数据实际上有更多日期和更多种类的值来代替单元格的内容。但是,出于示例目的,此示例数据应该足够了。

谢谢!

1 个答案:

答案 0 :(得分:2)

我不确定是COUNTIFS是问题所在。使用Excel 2008的一个非常简单的示例给出了:

细胞:A2-A4分别具有I-A,II-A,III-A。 C2-C4中的值相同。

在D2中我有:

=COUNTIFS($C$2:$C$4,"="&$A3)

并且这产生1,这是完全匹配的正确答案。如果没有将你的公式拉开,它的确有RIGHT(M $ 2,3),那里只会匹配最后3个字符,这是可能发生的事情吗?

希望这有帮助,

戴夫