【问题标题】:Trying to calculate a value from one column by looking for the correct row in a different column尝试通过在另一列中查找正确的行来计算一列中的值
【发布时间】:2015-12-12 00:56:20
【问题描述】:

我不是程序员,我无法编写代码来挽救我的生命!

但是,我有一个 Excel 表格,可以计算多个资源的分配时间。目前,我编写的公式无法直接找到相关行,因此如果“可用性”行在“容量”行上方not,则该公式无法按我的意愿工作。

我目前使用的公式是:

=IF(A8=A9, IF( B8 = "Availability", IF(D8=D9,0, IF(D8<0, -D8+D9, D9-D8)), ""), "")

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

感谢您抽出宝贵时间阅读本文,即使您无法提供帮助。

【问题讨论】:

  • @WhiteHat 或我的回答是否有帮助?如果不是,我知道我们俩都会帮助解决与我们的答案有关的任何问题。
  • @pnuts 或者拿走了他们需要的东西然后离开了。我的强迫症想要结束,即使是别人的回答被接受了。

标签: excel excel-formula excel-2013


【解决方案1】:

试试这个:

=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...

【讨论】:

  • 这正是我想要的。谢谢斯科特
【解决方案2】:

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

=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="Availability")*($D$2:$D$1000))-  
SUMPRODUCT(($A$2:$A$1000="Name 1")*($B$2:$B$1000="Capacity")*($D$2:$D$1000))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多