我有一张这样的工作表,其中有些单元格有一个价值和正在合并与下一个。
| A | B | C | D | E | F |
---+-----+-----+-----+-----+-----+-----+
01 | ??? | | | | | |
---+-----+-----+-----+-----+-----+-----+
02 | | LOW | | | |
---+-----+-----+-----+-----+-----+-----+
03 | | | | | | |
---+-----+-----+-----+-----+-----+-----+
04 | | MEDIUM | | | |
---+-----+-----+-----+-----+-----+-----+
05 | | | | | HIGH |
---+-----+-----+-----+-----+-----+-----+
06 | | | | | | |
---+-----+-----+-----+-----+-----+-----+
我希望单元格按照自定义排序为//的A1
最大值:B2
B4
E5
- 低的(最低)
- 中等的
- 高的(最高)
如果有用的话,我有一个表格将每个项目的值关联起来。我尝试使用 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
不是这样排序的话,公式就会稍微复杂一些。