使用 Excel 中的自定义列表获取单元格数组最大值的公式

使用 Excel 中的自定义列表获取单元格数组最大值的公式

我有一张这样的工作表,其中有些单元格有一个价值正在合并与下一个。

   |  A  |  B  |  C  |  D  |  E  |  F  |
---+-----+-----+-----+-----+-----+-----+
01 | ??? |     |     |     |     |     |
---+-----+-----+-----+-----+-----+-----+
02 |     |    LOW    |     |     |     |
---+-----+-----+-----+-----+-----+-----+
03 |     |     |     |     |     |     |
---+-----+-----+-----+-----+-----+-----+
04 |     |  MEDIUM   |     |     |     |
---+-----+-----+-----+-----+-----+-----+
05 |     |     |     |     |   HIGH    |
---+-----+-----+-----+-----+-----+-----+
06 |     |     |     |     |     |     |
---+-----+-----+-----+-----+-----+-----+

我希望单元格按照自定义排序为//的A1最大值:B2B4E5

  • 低的(最低)
  • 中等的
  • 高的(最高)

如果有用的话,我有一个表格将每个项目的值关联起来。我尝试使用 MAX(MATCH()) 执行 CSE 公式,但没有成功,因为它们不是连续的范围。

ScaleTable

Scale  |  Value  |
-------+---------+
Low    | 0       |
-------+---------+
Medium | 1       |
-------+---------+
High   | 2       |
-------+---------+

答案1

假设ScaleTable按升序排序(例如根据值列)并且

如果要返回的结果是比例(来自比例列的文本字符串),那么:

A1:  =INDEX(ScaleTable,MAX(IFERROR(MATCH($B$2,ScaleTable[Scale],0),0),IFERROR(MATCH($B$4,ScaleTable[Scale],0),0),IFERROR(MATCH($E$5,ScaleTable[Scale],0),0)),1)

在此处输入图片描述

在此处输入图片描述

Value如果您想返回列中的数值ScaleTable,则只需将函数column_num的参数更改INDEX为 2。

如果要返回最大值nth,请使用该LARGE函数而不是MAX

如果ScaleTable不是这样排序的话,公式就会稍微复杂一些。

相关内容