我有两列数据,我分别从XVals
和YVals
调用了A1:A65
和B1:B65
。我希望找到YVals
中使用min
函数的最大值的20%,然后在插值后找到相应的Xvals
值。
问题在于,因为YVals
是一个traingular函数,所以会有两个这样的20%对应的XVals
值。我只想选择一个,所以我认为最好的方法是将范围从A1:A65
重新定义为"A"&MatchVal&":A65"
MatchVal = WorksheetFunction.Match(WorksheetFunction.Max(YVals), YVals, 1)
。但是使用普通的&符号我无法操纵范围地址。
如果A1:A65
为50,请建议我将此范围从A50:A65
更改为MatchVal
。在此操作之后,我可以插入并获取XVals
的值它位于下坡。
答案 0 :(得分:1)
声明范围类型的变量并使用 Set 。类似的东西:
Dim rng As Range '~~> this will hold your new range
On Error Resume Next
MatchVal = WorksheetFunction.Match(WorksheetFunction.Max(YVals), YVals, 1)
If Err.Number <> 0 Then MsgBox "No match found.": Exit Sub
On Error Goto 0
Set rng = Range("A" & MatchVal & ":A65")
记下 OERN 和 OEG0 行。
我补充说,以确保在找不到匹配项时代码不会出错
虽然,你提到总会有2场比赛,但是检查可能的错误是值得的
您可以删除它,否则您认为它已经过度杀伤。 HTH。
答案 1 :(得分:0)
=INDIRECT("A"&MatchVal&":A65")
INDIRECT()
功能允许您输入提供文本的文本或动态值,并将其作为单元格ID进行评估。