首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >COUNTIF和和

COUNTIF和和
EN

Stack Overflow用户
提问于 2014-07-10 14:54:59
回答 2查看 593关注 0票数 0

我有一个包含两个工作表( MasterResults )的电子表格。Master包含A列中的“日期”和B列中的“原因”。在Results中,用户将输入一个开始日期和结束日期,我需要计算在日期之间的Master中的结果数,并且在“原因”列中有特定的文本。

由于我只使用Excel 2003,我认为我只能通过使用COUNTIF和一起来实现这一点,但我似乎无法写出正确的公式,任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-10 15:35:01

使用Excel 2003提供给您的两种简单方法:数组公式或助手列。

代码语言:javascript
复制
[Master]
Date       Reason HelperColumn
2014-01-01 A      0
2014-02-01 B      0
2014-03-01 A      1
2014-04-01 A      1
2014-05-01 B      0
2014-06-01 A      0

[Results]
From:      2014-02-01
To:        2014-05-01
Reason:    A
Count:     2

第一个示例:数组公式

计算的公式是:

代码语言:javascript
复制
{=SUM(IF(Master!A2:A7>=B1,1,0)*IF(Master!A2:A7<=B2,1,0)*IF(Master!B2:B7=B3,1,0))}

若要使用数组公式,请输入不带大括号的公式,然后按CTRL+SHIFT+ENTER键提交公式。更多信息,这里

第二个示例:助手列

或者,您可以在母版表上添加一个辅助列。如果当前行与搜索条件匹配,则此列将显示1,否则为0。然后,您可以通过在helper列上使用常规SUM来获取计数。

助手列的公式:

代码语言:javascript
复制
=IF(AND(A2>=Results!$B$1;A2<=Results!$B$2;B2=Results!$B$3);1;0)

至于结果表中的数字:

代码语言:javascript
复制
=SUM(Master!C2:C7)
票数 1
EN

Stack Overflow用户

发布于 2014-07-10 15:20:23

@hsan,谢谢你指出这一点。请注意,我下面的代码是用于Excel 2007+的。

代码语言:javascript
复制
My Masters tab:

Date    Reason
10/07/2014  a
10/07/2014  b
10/07/2014  a
11/07/2014  d
11/07/2014  a
12/07/2014  b
13/07/2014  c


My Results tab:
s.Date  10/07/2014
e.Date  11/07/2014

Search  a

Count   3

s.Date和e.Date是我的开始和结尾,搜索是文本搜索的原因(非常简单的1字符匹配)。

计数字段的公式是:

代码语言:javascript
复制
=COUNTIFS(Master!$A$2:$A$8,">="&B1,Master!$A$2:$A$8,"<="&B2,Master!$B$2:$B$8,Result!B4)

注意我是如何使用countIFS (而不是if)的,我在条件1&2中构造日期间语法,然后在条件3中对搜索进行过滤。

如果要进行更深入的搜索,可能需要调整第三个条件。

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

https://stackoverflow.com/questions/24679804

复制
相关文章

相似问题

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