首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图通过在另一列中查找正确的行来计算某一列的值

试图通过在另一列中查找正确的行来计算某一列的值
EN

Stack Overflow用户
提问于 2015-12-11 15:35:35
回答 2查看 64关注 0票数 0

我不是一个程序员,我不能写代码来挽救我的生命!

但是,我有一个Excel表,用于计算为多个资源分配的时间。目前,我编写的公式无法直接找到相关行,因此,如果“可用性”行是而不是,则公式不能像我所希望的那样工作。

我目前使用的公式是:

代码语言:javascript
复制
=IF(A8=A9, IF( B8 = "Availability", IF(D8=D9,0, IF(D8<0, -D8+D9, D9-D8)), ""), "")

我希望公式能够查找资源名称,并计算每个月“可用性”行和“容量”行之间的分配小时数。这个公式需要对每个资源名称执行此操作,而不是重复结果,因此每个资源名称只有一个值。

谢谢你抽出时间来阅读这篇文章,即使你不能帮忙。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-11 15:52:26

试试这个:

代码语言:javascript
复制
=IF(B2 = "Availability",INDEX(D:D,MATCH(A2 & "Capacity",A:A&B:B,0))-D2,"")

问题是,容量并不总是直接处于可用状态。这是一个数组公式,必须由Ctrl-Shift-Enter确认.把它放在H2公式盒里。按Ctrl-Shift-Enter。那就抄下来。

一个注意事项:如果不是整个列引用;D:D : B:B和A:A,你把数据的实际绝对范围;$D$2:$D$300.

票数 0
EN

Stack Overflow用户

发布于 2015-12-11 15:57:32

SUMPRODUCT公式对此非常有用。我通常会命名范围,但为此目的,我包括了前1000行。这将为您提供第一个月的总时数,其中资源名称=名称1和类别是可用的,而不管每个月出现的顺序或次数.

=SUMPRODUCT(($A$2:$A$1000="Name 1")*($B$2:$B$1000="Availability")*($D$2:$D$1000))

你可以做同样的能力或者如果你需要一个不同的..。

代码语言:javascript
复制
=SUMPRODUCT(($A$2:$A$1000="Name 1")*($B$2:$B$1000="Availability")*($D$2:$D$1000))-  
SUMPRODUCT(($A$2:$A$1000="Name 1")*($B$2:$B$1000="Capacity")*($D$2:$D$1000))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34227125

复制
相关文章

相似问题

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