Excel Vlookup to Return 公式有效,但其中包含间接函数
Excel Vlookup to Return Formula works except with Indirect function in it
我需要创建一个 vlookup,它将 return 一个公式,然后评估它 return 的公式。我查了一下,发现这个 link 让我完成了一半。
我必须将这个用户定义的函数添加到工作簿中:
Function Eval(Ref As String)
Application.Volatile
Eval = Evaluate(Ref)
End Function
然后,我可以使用 Eval 来 return 一个公式并计算它。当我 return 一个普通公式时它起作用,但是当我将一个间接函数放入 returned 公式时,它停止工作。我需要间接函数,因为最终将在工作簿中使用它,我不知道它将在哪一行。
我包含的 workbook 显示了一个基本公式(有效),公式替换为间接函数(有效),Vlookup 查找公式(有效),Eval with Vlookup 显示公式结果(有效), 使用间接公式求值(无效),使用 vlookup 求值以显示具有间接结果的公式(无效)
因此,一旦添加了间接函数,eval 函数就会停止工作。我该如何解决这个问题?
使用 INDEX 而不是 INDIRECT。
INDEX(H:H,row())*30
问题是 "
的数量是否正确。
我也会使用 Application.Caller.Parent.Evaluate
来确保使用正确的 sheet。
Function Eval(Ref As String)
Application.Volatile
Eval = Application.Caller.Parent.Evaluate(Ref)
End Function
我需要创建一个 vlookup,它将 return 一个公式,然后评估它 return 的公式。我查了一下,发现这个 link 让我完成了一半。
我必须将这个用户定义的函数添加到工作簿中:
Function Eval(Ref As String)
Application.Volatile
Eval = Evaluate(Ref)
End Function
然后,我可以使用 Eval 来 return 一个公式并计算它。当我 return 一个普通公式时它起作用,但是当我将一个间接函数放入 returned 公式时,它停止工作。我需要间接函数,因为最终将在工作簿中使用它,我不知道它将在哪一行。
我包含的 workbook 显示了一个基本公式(有效),公式替换为间接函数(有效),Vlookup 查找公式(有效),Eval with Vlookup 显示公式结果(有效), 使用间接公式求值(无效),使用 vlookup 求值以显示具有间接结果的公式(无效)
因此,一旦添加了间接函数,eval 函数就会停止工作。我该如何解决这个问题?
使用 INDEX 而不是 INDIRECT。
INDEX(H:H,row())*30
问题是 "
的数量是否正确。
我也会使用 Application.Caller.Parent.Evaluate
来确保使用正确的 sheet。
Function Eval(Ref As String)
Application.Volatile
Eval = Application.Caller.Parent.Evaluate(Ref)
End Function