Excel:将字符串(通过vlookup获得)作为公式计算

Excel:将字符串(通过vlookup获得)作为公式计算,excel,excel-formula,vlookup,excel-2013,Excel,Excel Formula,Vlookup,Excel 2013,我在单独的工作表(tbl2)中有一个公式列表,作为字符串,如下所示: 0.01 * INDIRECT("RC[1]", FALSE) * 0.01 在工作表中,一个单元格具有以下引用其中一个字符串的公式: =VLOOKUP(B22, tbl2!B4:J68, 2, FALSE) 返回字符串形式的公式。如何将字符串转换为实际公式以计算其结果?以下是您可以尝试使用VBA抱歉--假设您的公式位于sh1:A1,结果将位于sh1:B1。 在我的例子(Excel2010)中,它可以计算公式;我相信A1中

我在单独的工作表(tbl2)中有一个公式列表,作为字符串,如下所示:

0.01 * INDIRECT("RC[1]", FALSE) * 0.01
在工作表中,一个单元格具有以下引用其中一个字符串的公式:

=VLOOKUP(B22, tbl2!B4:J68, 2, FALSE)

返回字符串形式的公式。如何将字符串转换为实际公式以计算其结果?

以下是您可以尝试使用VBA抱歉--假设您的公式位于
sh1:A1
,结果将位于
sh1:B1
。 在我的例子(Excel2010)中,它可以计算公式;我相信A1中的输入字符串来自Vlookup是可以的:

Public Sub this()
    mySheet = "sh1"
    Dim C As Object
    Set myrange = ThisWorkbook.Sheets(mySheet).Range("A1:A1")
    For Each C In myrange
        C.Offset(0, 1).FormulaR1C1 = "=" & C.Value
        C.Offset(0, 1).Select
    Next
End Sub

如果您的公式包含工作簿中的单元格或区域,您可以进行检查。

以下是您可以尝试使用VBA抱歉--假设您的公式位于
sh1:A1
,结果将位于
sh1:B1
。 在我的例子(Excel2010)中,它可以计算公式;我相信A1中的输入字符串来自Vlookup是可以的:

Public Sub this()
    mySheet = "sh1"
    Dim C As Object
    Set myrange = ThisWorkbook.Sheets(mySheet).Range("A1:A1")
    For Each C In myrange
        C.Offset(0, 1).FormulaR1C1 = "=" & C.Value
        C.Offset(0, 1).Select
    Next
End Sub

如果您的公式包含工作簿中的单元格或区域,您可以检查。

是否尝试将vlookup包装到间接函数中?@Wyatt Shipman:indirect无法将字符串作为公式计算。它只能作为单元格引用计算字符串。据我所知,没有一个公式计算器没有VBA或旧的Excel4Macros。谢谢@AxelRichter,我不知道OP间接公式是否能够正确计算,因为它需要完整的R1C1引用,而不是偏移公式。您是否尝试过将vlookup包装到间接函数中?@Wyatt Shipman:INDIRECT无法将字符串作为公式计算。它只能作为单元格引用计算字符串。据我所知,没有一个公式计算器没有VBA或旧的Excel4Macros。谢谢@AxelRichter,我不知道OP间接公式会正确计算,因为它需要一个完整的R1C1参考,而不是偏移公式。