根据另一个单元格值返回单元格值

时间:2015-09-17 18:34:41

标签: excel excel-formula excel-2010

我正在研究一个正在进行的项目,我需要提出一个允许我只使用公式的解决方案。忽略值的含义,我需要一个寻找连续最高值的公式,然后将供应商放在相应的单元格中。

所以在这个例子中,我需要公式看到H3是第一行中的最高值,因此将供应商3放在单元格B3中。

公式需要足够聪明才能知道允许最高值可能位于下一行的不同列中,并且需要在相应的单元格中显示不同的结果。

My spreadsheet example

请有人告诉我这是可能的!

2 个答案:

答案 0 :(得分:0)

如果TIME列中没有NUMBER值,则此方法有效:

=INDEX(C$1:Z$1,MATCH(MAX(C3:Z3),C3:Z3,)-1)

注意:这假定您的供应商列不会延伸到Z列之外。如果这样做,则将公式中的z更改为适合您的方案的更远的内容。

注意:如果您在TIME列中有时间值(不是文本,而是格式化为时间的实际数字),那么您将需要一种不同的方法。

<强>更新

如果TIME列中有数字时间值,则此公式就是您所需要的。在单元格C3中输入:

=INDEX(C$1:Z$1,MATCH(MAX(N(OFFSET(C3,,ROW(OFFSET($A$1,,,12))*2-1))),C3:Z3,)-1)
  

这是一个数组公式,必须使用 Ctrl + Shift + Enter 确认。

在单元格C3中确认此数组公式后,将其复制。

现在,选择C4到C50(或者你需要的深度)并粘贴。

注意:如果您需要更多供应商列,请更改z并将公式中间的12增加到供应商的最大数量(或更多)。

答案 1 :(得分:0)

通过错开INDEXMATCH函数对之间的查找范围,您可以克服合并单元格的问题。

Best Percentage

B2中的标准公式是

=INDEX($C$1:$Y$1, MATCH(MAX(INDEX($D3:$Z3*NOT(MOD(COLUMN($D:$Z), 2)), , )), $D3:$Z3, 0))

MOD function返回除法的余数,因此奇数列将返回1,偶数列为0.这与NOT(...)相反。