如何将字符串转换为Excel中的公式?
如何将字符串转换为Excel中的公式?
我使用CONCATENATE
函数构建了以下类似的公式:
=CONCATENATE("=SUM('D:\Tour\", TEXT(A2,"yyy"), "\", TEXT(A2,"mmmm"), "\", TEXT(A2,"mmm"), " ", TEXT(A2,"d"), "\[", B2, ".xlsx]Sheet1'!E:E)")
它返回类似以下的输出:
=SUM('D:\Tour\2017\February\Feb 1[11043.xlsx]Sheet1'!E:E)
A列包含日期,B列包含文件名。
目前,我将公式复制到记事本中,然后再粘贴回Excel。有没有办法可以直接使用这个公式?
(我尝试了间接函数,但它不起作用。)
在Excel中,有时候我们需要将字符串转换成公式来进行计算。这种需求的出现可能是由于以下原因:
1. Excel中的公式通常是通过在单元格中输入等号(=)后跟上相应的公式来实现的。但是,有时我们可能需要在VBA代码或其他地方以字符串的形式定义公式,然后将其转换为实际的公式并进行计算。
为了解决这个问题,我们可以使用下面的方法将字符串转换为公式:
1. 首先,我们可以创建一个自定义的VBA函数,让它接受一个字符串参数,并使用Evaluate函数将该字符串作为公式进行计算。以下是一个示例代码:
Function EV(s As String) As Variant EV = Evaluate(s) End Function
2. 在Excel中,我们可以通过在单元格中使用等号(=)后跟上函数名称和参数来调用这个自定义函数。例如,我们可以在单元格中输入以下公式来将字符串转换为公式并进行计算:
=EV("=A1+B1")
或者,我们可以将单元格的值作为参数直接传递给函数:
=EV(C2)
需要注意的是,以上方法中使用的EV函数是一个自定义函数,所以我们需要先在VBA编辑器中创建该函数,并确保将其保存在正确的工作簿中。
另外,还有一种解决方法是在上述问题的回答中提到的。该方法不需要使用VBA,但我个人无法使其正常工作,具体的解决方法请参考原问题中的第二个回答。
总结起来,如果我们想要在Excel中将字符串转换为公式并进行计算,可以使用VBA编写一个自定义函数,或者尝试原问题中提到的另一种解决方法。这样,我们就可以方便地将字符串转换为公式,并在Excel中进行相应的计算了。