excel - 在 Excel 中,如何在 date1 和 date2 之间计算行中包含文本的单元格?
问题描述
我需要在一列中选择两个日期之间的单元格,然后根据包含这些日期的行,选择另一行中也包含内容的单元格。
我没有使用ISBLANK
,因为它将一个公式计算为一个空单元格作为非空白单元格。而是检查是否有内容"*"
。
这是我想出的,但不是返回单元格的数量,而是返回TRUE
(这显然不是我想要的)。
在下面的公式中,我假设:
C:C
是包含DATES的整个列。E:E
是包含CONTENT的整个列。本例中的日期范围为2018 年 1月 1 日至 2018 年1月 31 日。
"*"
表示单元格中有内容=IF(AND(COUNTIFS(C:C,">="&"2018-1-1",C:C,"<="&"2018-1-31"),COUNTIF(E:E,"*"))=0,"",AND(COUNTIFS(C:C,">="&"2018-1-1",C:C,"<="&"2018-1-31"),COUNTIF(E:E,"*")))
我的目标是:
- 计算列
E
中日期之间的列中单元格的数量C
- 如果整个公式是
0
,则返回一个空白。
请参阅此示例 excel 表的图片以明确我的意图:
我怎样才能让我的公式发挥作用,以便根据需要发挥作用?
解决方案
大家好,感谢@girlvsdata,我们有一个可行的解决方案。我必须对她的代码进行几次编辑才能满足我的使用需求,但她的公式总体上很完美。这是解决方案:
要选择 E 列中非空白的所有单元格,在基于相邻 C 列(如果那是您的日期列)的所有 1 月(未知结束日期)的日期范围之间,那么解决方案是:
=IF(COUNTIFS(C:C,">="&"2018-1-1",C:C,"<="&EOMONTH("2018-1-1",0),E:E,"*")=0,"",COUNTIFS(C:C,">="&"2018-1-1",C:C,"<="&EOMONTH("2018-1-1",0),E:E,"*"))
请注意,这"2018-1-1"
是 2018 年 1 月 1 日,并且EOMONTH("2018-1-1",0)
是 2018 年 1 月的最后一个有效日期(在本例中为 31,但如果另一年不同(例如,对于 2 月,这也适用于闰年),那么它将是最后一天天)。它还消除了计算哪个是最后一天或每个月的需要,以及根据年份(例如 2 月)而改变结束日期的月份。这对于消除误差幅度很重要。
您唯一需要做的就是更改月份,例如-1-
(一月)更改-2-
为二月,或更改其他年份的年份。使用此公式,您可以忽略白天部分。
如果答案为 0(范围之间没有单元格有任何内容),则单元格为空白而不是 0。(当您想要创建一个检查未来日期以供将来参考的工作表时,当更多行添加到工作表时,这是很好的选择.
它也适用于不同的工作表,只需使用,说你的另一个工作表称为“跟踪器”,然后使用Tracker!C:C
and Tracker!E:E
。希望能帮助到你!
谢谢你们!:D
解决方案
(请注意:我的本地日期格式是天,然后是月)
使用上面示例中列出的数据:
A B
1 Dates |Content
------------+-------
2 1/01/2018 |
3 2/01/2018 |123456
4 3/01/2018 |
5 4/01/2018 |12398
6 5/01/2018 |484
7 6/01/2018 |1538
8 7/01/2018 |
9 8/01/2018 |
10 9/01/2018 |
11 10/01/2018 |14648
12 11/01/2018 |
13 12/01/2018 |145615
14 13/01/2018 |
并在单元格中使用日期范围D2
和E2
:
Date Start Date End
2/01/2018 7/01/2018
此公式返回计数:
=COUNTIFS(A:A,">="&D2,A:A,"<="&E2,B:B,">0")
这将取决于您输入的数字Column B
是文本格式还是数字格式。如果它们被格式化为数字,则上述公式将起作用。如果它们被格式化为文本,请将最后一部分替换">0"
为"*"
.
此公式添加了问题的条件部分:
=IF(COUNTIFS(A:A,">="&D2,A:A,"<="&E2,B:B,">0")=0,"",COUNTIFS(A:A,">="&D2,A:A,"<="&E2,B:B,">0"))
(如果公式返回 0,则显示空白)
推荐阅读
- r - RcppRoll 或 CumSum 滞后于动态窗口
- php - 在 php 脚本中找不到类
- php - PHP curl 将表单数据发布到 REST API
- javascript - 如何使用 prebid.js 处理来自 GPT 的多个广告位
- python - 命令迁移未执行
- apache - 当用户浏览网站上的其他页面时保持相同的 url 参数
- javascript - 带有 Vuejs 的 Laravel 在没有 php artisan serve 的情况下运行项目
- asp.net-core - 如何在同一个 .net core 3 应用程序中使用剃须刀页面和控制器?
- python - 在 Pandas DataFrame 中查找数值最接近的行
- javascript - 如何在 Metro 中获取 React Native 变体?