索引/匹配多个条件,执行每个匹配的计算

时间:2014-07-02 14:40:06

标签: excel indexing match

我在表中有两列称为S和D,其中S是日期,D是持续时间。 E.g:

'S' Column
January
February
March
April

'D' Column
60
30
45
30

在单独的工作表上,假设第1行包含一系列日期(变量,取决于用户菜单选择)。

第2行需要以下计算:

[(x - s1)/d1 + (x-s2)/d2 + ... + (x-sn)/dn] / n

......其中" x"是第1行的任何日期。

只有在匹配多个条件时才会进行计算。

我最初的尝试涉及创建一个单独的表,但我认为这可以在第2行的单单元格公式中完成。我不认为总和(索引(匹配))类型在这里可以使用,考虑到d1 ,d2,...,dn是具有不同值的分母。

以下是一个示例尝试:

=SUM((SelectedDate-INDEX(Table[StartDates],MATCH(Criteria1&Criteria2,Range1&Range2,0))/INDEX(Table[Durations],MATCH(Criteria1&Criteria2,Range1&Range2,0))))

值得注意的是,我能够以两步的方式完成这项工作。首先,我创建一个表,对每行进行计算。然后,我参考了表格。如果我能够消除对计算表的需求,那就太好了。赞成阵列式公式。

1 个答案:

答案 0 :(得分:0)

我在大多数评论之前做了一个猜测,并提出以下建议,主要是因为它提供了一些想法或者更有助于更详细地说明要求。这是“两步”因为平均公式与每列的公式是分开的,所以我很欣赏可能不是所需要的。

假设S和D在Sheet2 ColumnsA:B中标记为数据。 假设Row1数据行在ColumnA中标记。 假设日期不是字符串(例如1月实际上是1月1日),差异是天数,总是正数等等。

=(B$1-CHOOSE(COLUMN(),Sheet2!$A1,Sheet2!$A2,Sheet2!$A3,Sheet2!$A4))/CHOOSE(COLUMN(),Sheet2!$B1,Sheet2!$B2,Sheet2!$B3,Sheet2!$B4)  
在Row2中

以适合4个数据列,在F2中并向下复制以适应:

=AVERAGE(B2:E2)