在相邻的单元格中运行文本公式
我很难找出有两列的方法,一个是显示可编辑的整个公式,另一个是实际执行公式的方法。
理想情况下,我希望我的表格可以这样设置:
Formula | Value =5+2 | 7 =3-2 | 1
我想能够更改公式列,并让它自动更新值列。
我尝试过使用GetFormula()
函数,但我不认为这就是我想要做的,因为我最终会根据我想要做的循环引用。 我得到的最接近的是在公式列或空格中使用Right()
函数和Text,并删除空格。 但是,我最终的文字,而不是解决的公式。
使用=RIGHT(A2, LEN(A2)-1)
Formula | Value =5+2 | =5+2
我也尝试使用=RIGHT(A2,LEN(A2)-1)
但没有“=”,不知道如何将“5 + 2”转换成文本,我可以用来解决。 我希望用一个公式来做到这一点,没有macros/ VBA。
这是如何做到这一点。
1
打开名称pipe理器。 从工作表控制F3,然后单击新buildbutton。
2
对于对话框中的名称字段,inputEVALA
。 我只是选了这个名字 它代表“评估A”。 但是你可以select你喜欢的任何名字。
3
对于“ Refers to
字段,请input
=EVALUATE($A1)
4
单击确定,然后closures。
五
在B1中input这个公式:
=EVALA
而已。
您现在可以在工作表中的任何一行上使用此公式,并且它将评估input公式的行的单元格中的任何内容。
您可以使用VBA轻松创build用户定义的函数,但是如果您不经常使用VBA,则另一种方法是创build一个Name对象。 名称对象可以访问单元格公式中通常不可用的特定function。 其中一个函数是“评估”,它将评估一个string作为一个mathexpression式。 这里有一个演示如何做到这一点。
注意:要特别注意使用$
。 有机会,你不想在你的名字定义任何$
,因为这将阻止它的行为相对的方式。 另外, Sheet1!
意味着这不会在另一张纸上工作。
更新我只是想把这个方法归功于下面的来源。 这是相当整洁的东西,所以有兴趣的人给它一个阅读。 最后一个链接特别给出了一个创build没有数据点的图表的简单例子。
MSDN评估定义的名称
评估的力量(ozgrid)
XL4macros名称的function – JKP
评估和间接
定义名称的更多独特function
这可能是OP的最佳解决scheme,因为它要求避免使用VBA; 但是,这种方法有一定的局限性。 它需要在每张纸上使用手动设置。 我认为最好的办法就是创build一个非常简单的UDF。
Function Eval(Expr As String) Eval = Application.Evaluate(Expr) End Function
这可以添加到任何可访问的加载项,使其可用于Excel的任何实例。 多一点设置,但less维护。
只需在A列中input公式之前放置一个'=5+2
就会显示在您的单元格中“= 5 + 2”。 然后在B列中,按正常方式做公式=5+2
。