excel - Excel单元格公式计算一个表中的键,如果它们在另一个表中的值是特定条件
问题描述
我觉得这个问题的答案很简单,但我似乎无法理解它:我有一个很大的历史数据表(右侧示例),其中包含特定部件号何时发货,以及是否它们是两个类别之一(左侧示例)。
Part Type | Part Shipped Date Shipped
Part#1 W | Part#3 23-Apr
Part#2 W | Part#3 25-Apr
Part#3 W | Part#5 17-Apr
Part#4 U | Part#2 18-Apr
Part#5 W | Part#6 25-Apr
Part#6 U | Part#1 18-Apr
我正在尝试获取一个 COUNTIFS 公式来计算 [上周一] 和 [上周五] 之间的所有 [已发货] 条目,但仅限于 [类型] 类型为“W”的情况。我已经记下了日期标准,但我无法完全弄清楚如何将 [Part Shipped] 标准范围传递给另一个表,以便引用和计算 [Type]
输入数据取自实时数据馈送(Odata、atomsvc 文件),因此我使用完整列作为标准范围,例如“DATA”!X:X。
我已经弄清楚了日期标准:
">=" & ((TODAY() - 7) - (WEEKDAY(TODAY()) - 2))
"<=" & ((TODAY() - 7) + (WEEKDAY(TODAY()) - 6))
到目前为止,我的完整公式是这样的:
=COUNTIFS('SO Progress'!X:X, ">=" & ((TODAY() -7) - (WEEKDAY(TODAY()) -2)), 'SO Progress'!X:X, "<=" & ((TODAY()-7) + (WEEKDAY(TODAY())-6)))
但这还没有任何计算类型的标准。我考虑过使用一个简单的 VLOOKUP 并将其与“W”进行比较,但我的主要问题是弄清楚如何将整个范围传递给 VLOOKUP 公式并为范围内的每一行获取结果。
在这一点上,我觉得这可能只是我不知道如何使用这些功能或工具中的一个或多个来获得我需要的东西,因为我觉得这可能是一个常见的问题。我似乎无法找到任何足够具体的结果来帮助我的情况。
[编辑]
使用上述数据,假设这些列是连续的 A:D,我希望首先过滤上周周一至周五的发货日期 (D:D)。例如,使用今天 (4/29),该范围将是 4/22 到 4/26。
这对初始标准将给我三个结果:第 3 部分、第 3 部分和第 6 部分。但是,第 6 部分属于“U”类型,如 A 列和 B 列所示,所以我的最终结果应该是 2。
A:B 表包含唯一的零件编号及其类型以供参考,但表 C:D 中的发货零件可能是重复的,并且在大多数情况下会比类型参考表大得多。
解决方案
如果您要计算日期大于 x、日期小于 Y、且 z =“W”的出现次数,则只需在COUNTIFS()
函数中添加另一个标准。
下面的公式假设日期在 D 列,类型在 B 列 - 显然调整这些以适合您的工作表。
=COUNTIFS(D:D, ">=" &TODAY()-7-WEEKDAY(TODAY()-2),D:D, "<=" & TODAY()-7+WEEKDAY(TODAY()-6),B:B,"=W")
推荐阅读
- php - 如何知道本地托管的 php 脚本加载时间
- python - Python argparse:传递没有参数名称的单个参数
- asp.net-core - Razor Pages 中 @page 指令中的强类型路由
- python - 我已经分配了我的变量,但输出显示:“分配前引用的局部变量”
- c++ - tensorflow C++ 相当于 tf.trainable_variables()?
- c++ - 在可变参数类模板中覆盖多个虚函数
- sql - TSQL:想要在现有的 nvarchar(max) 列上使用压缩方法
- java - 从双向链表中删除给定值的所有出现
- php - 将小 XML 文件添加到大 XML 文件 PHP 中的特定位置
- c# - 试图将论点与属性进行比较