![在 Excel 中自动执行选择过程](https://linux22.com/image/1306460/%E5%9C%A8%20Excel%20%E4%B8%AD%E8%87%AA%E5%8A%A8%E6%89%A7%E8%A1%8C%E9%80%89%E6%8B%A9%E8%BF%87%E7%A8%8B.png)
标题几乎没有什么意义,所以我将尝试解释一下。
我有一些基于输入参数的计算,现在不重要了。从中(计算)我得到了一个数字,假设是 98。
另一边我有一张桌子,有两列,楷模和值对应的,并且根据该数字,我必须选择一个模型,其值最接近该数字,但大于它(第一高)。
我怎样才能使这一部分自动化?模型计算的“结果”是什么?
我一般会关注如何测试值>数字然后显示模型从侧柱的某个地方?
希望这有点道理...
答案1
你正在寻找index
和match
。=index(array,rownum,colnum)
在哪里rownum=match(lookup_value,lookup_array,match_type)
因此,如果你values
在A1:A4
并models
对应B1:B4
并且值按降序排列并且您想要查找值C1
并返回下一个最高值,model
您的公式是:
=INDEX(A1:B4,MATCH(C1,A1:A4,-1),2)
其中,将index
,entire array
值match
添加到row number
列中values
,-1
match type
(大于),然后column 2
返回models
。
这是否有意义并且符合您要做的事情?请记住,match type = -1
必须使用您的价值观降序
答案2
这听起来像 Excel 的查找函数。假设您的函数在 D4 中,表格值在 F6:F8 中,模型在 G6:G8 中,然后使用公式:
=LOOKUP(D4,F6:F8,G6:G8)
将返回最接近该值的模型,但不会大于该值。
答案3
我之前曾成功使用标准 MATCH(true)获得模糊匹配,然后只需添加一个......
=IF(NOT(ISNUMBER(MATCH(A1,G:G,0))), INDEX(H:H,MATCH(A1,G:G,1) + 1), INDEX(H:H,MATCH(A1,G:G,0)))