我试图写一个公式来找到最接近某个标准的单元格,我有一个天线数据表,表示它在周围不同角度的性能,我想计算3dB波束宽度。 表格的格式如下:
+-------------------------------------+
| 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
获取表格中的最高值,INDEX([angle range],MATCH([max cell],[freq column range],0))
查找该最大值的相应角度。
我需要一个公式,它会找到最后一个单元格的相应角度,该最大单元格的最大值是3dB的最大值和最后一个单元格的角度,然后得到这些角度之间的差值以获得波束宽度,对于Freq 1:
上图:4 - 角40
下图:2 - 角70
波束宽度:70 - 40 = 30
freq 2:
上图:4 - 角10
下图:4 - 角80
波束宽度:80 - 10 = 70
频率3:
上图:0 - 角度20
下图:0 - 角度100
波束宽度:100 - 20 = 80
理想情况下,它会在最后一个带有3dB的单元格和第一个带有3dB的单元格之间进行线性插值,以便猜测这些步骤之间的角度......但这可能是一个太过分的桥梁。
我想避免使用宏来执行此操作,因为我希望在源数据更改时自动计算它,并且我需要能够将其发送到不允许运行宏的计算机。
我考虑过使用LOOKUP
VLOOKUP
但是这些需要匹配一个确切的值,除非设置了一个选项,但是当我尝试使用该选项集时,我没有得到任何匹配的值(max - 3)
不确定还有什么可以尝试。
答案 0 :(得分:2)
对于Excel 2010及更高版本:
找到上面的内容:
=INDEX($A:$A,AGGREGATE(15,6,ROW(B$2:B$12)/(B$2:B$12>=MAX(B$2:B$12)-3),1))
要查找下方,请将15
更改为14
:
=INDEX($A:$A,AGGREGATE(14,6,ROW(B$2:B$12)/(B$2:B$12>=MAX(B$2:B$12)-3),1))
然后拖动/复制以引用下一列。
对于2007及以下版本,您需要使用以下数组公式:
For Above:
=INDEX($A:$A,SMALL(IF(B$2:B$12>=MAX(B$2:B$12)-3,ROW(B$2:B$12)),1))
下方:
=INDEX($A:$A,LARGE(IF(B$2:B$12>=MAX(B$2:B$12)-3,ROW(B$2:B$12)),1))
作为数组公式,他们需要在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter来确认。如果操作正确,那么Excel会将{}
放在公式周围。