excel 查找最近的符合条件的单元格

excel find nearest cell that meets a criteria

我正在尝试编写一个公式来找到满足特定条件的最近小区简而言之,我有一个 table 天线数据,表示它在周围不同角度的性能,我想要计算 3dB 波束宽度。 table 的格式为:

+-------------------------------------+
| Angle    | Freq 1 | Freq 2 | Freq 3 |
+----------+--------+--------+--------+
| 0        | -2     | -4     | -6     |
| 10       | -2.5   | 4      | -7     |
| 20       | -2     | 5      | 0      |
| 30       | 1      | 6      | 2      |
| 40       | 4      | 7      | 2      |
| 50       | 5      | 6      | 3      |
| 60       | 4      | 6      | 2      |
| 70       | 2      | 5      | 2      |
| 80       | 0      | 4      | 2      |
| 90       | -2.5   | 2      | 1      |
| 100      | -2     | -4     | 0      |
| ...      | ...    | ...    | ...    |
| 350      | -2     | -4     | -6     |
| 360      | -2     | -4     | -6     |
+----------+--------+--------+--------+
| Max      | 5      | 7      | 3      |
| Ang. Max | 50     | 40     | 50     |
+----------+--------+--------+--------+

所以我目前使用max获取table中的最大值,并使用INDEX([angle range],MATCH([max cell],[freq column range],0))查找最大值对应的角度。

我需要一个公式来找到最大值上方的最后一个单元格的对应角度,即最大值的 3dB 及其下方的最后一个单元格的角度,然后得到这些角度之间的差异以获得波束宽度以度为单位,因此对于频率 1:
上图:4 - 角 40
下面:2 - 角度 70
波束宽度:70 - 40 = 30

频率 2:
上面:4 - 角度 10
下面:4 - 角度 80
波束宽度:80 - 10 = 70

频率 3:
上图:0 - 角度 20
下面:0 - 角度 100
波束宽度:100 - 20 = 80

理想情况下,它会在最后一个 3dB 的单元格和第一个外部单元格之间进行线性插值,以猜测这些步骤之间的角度......但这可能是一座太远的桥梁。

我想避免使用宏来执行此操作,因为我希望在源数据发生变化时自动计算它,并且我需要能够将其发送到不允许 运行 宏。

我考虑过使用 LOOKUPVLOOKUP,但除非设置了选项,否则它们需要匹配一个确切的值,但是当我尝试设置该选项时,我根本没有匹配(max - 3)

的值

不太确定还能尝试什么。

Excel 2010 年及以上:

找到上面的:

=INDEX($A:$A,AGGREGATE(15,6,ROW(B:B)/(B:B>=MAX(B:B)-3),1))

要找到下面的内容,请将 15 更改为 14:

=INDEX($A:$A,AGGREGATE(14,6,ROW(B:B)/(B:B>=MAX(B:B)-3),1))

然后 drag/copy 越过以引用下一列。


对于 2007 年及以下版本,您需要使用以下数组公式:

以上:

=INDEX($A:$A,SMALL(IF(B:B>=MAX(B:B)-3,ROW(B:B)),1))

以下:

=INDEX($A:$A,LARGE(IF(B:B>=MAX(B:B)-3,ROW(B:B)),1))

作为数组公式,退出编辑模式时需要使用 Ctrl-Shift-Enter 而非 Enter 进行确认。如果操作正确,那么 Excel 将在公式周围加上 {}