首页 > 解决方案 > 有没有办法在 excel 中使用 VLOOKUP 来计算表中的某些值,但仅限于 VLOOKUP 索引的某个范围?

问题描述

我有一个以日期作为变量之一的大型 Excel 文件。我正在尝试对来自其他变量之一的字符串计数求和,但仅限于某个日期范围(即 A 列中最近 10 天 C 列中的“是”计数)。我需要开始的日期显示在主工作表上(也是我需要显示计数的地方),日期数据在另一张工作表上。假设 A 列中的整个表格范围从 6 月 1 日到 7 月 1 日,C 列是“是”或“否”。

我正在寻找 VLOOKUP 主表中的日期以找到它在日期表中的开始位置,并计算与该开始日期相关的“是”的数量直到当前日期。

我尝试使用 INDEX 函数,使数组参数从使用 VLOOKUP 的日期开始,并以是/否列的最后一个日期的单元格结束(以合并日期范围内所需的所有值),但没有成功。

=index(vlookup(B1,dates!A:A,1,false):D1000,5,countif(E:E,"Yes"))

我得到一个#REF!错误,说明参数 2 的值应介于 0 和 1 之间。我只尝试了此函数和 VLOOKUP 的不同变体,似乎无法避免出现错误。

预期的输出应该是 D 列中从指定的开始日期到 A 列中的当前日期的“是”计数。

编辑: 这是我想要做的示例图像。1

第二次编辑:日期是从网站上提取的,没有格式化为日期,而是异常字符串:20194 年 4 月 27 日/27 日 20194 年 4 月 28 日/28 日 20194 年 4 月 30 日/30 日 20195 年 5 月 1 日/20195 年 5 月 2 日/2 2019 年 5 月 3 日/3

标签: excelexcel-formulavlookupcountif

解决方案


使用 COUNTIFS:

=COUNTIFS(E:E,"Yes",A:A,">="&B1,A:A,"<="&Today())

如果您的日期是真实日期,则上述工作有效,如果字符串使用:

=COUNTIFS(INDEX(E:E,MATCH(B1:A:A,0)):E1040000,"Yes")

推荐阅读