在Excel中,如何轉換公式字元串?

分享于 

5分钟阅读

电脑

  简体 双语

问题:

我有一个带有基本布局的Excel工作表,如下所示:


| Setting | Value |


| x + 10 |.. .. |


| x + 20 |.. .. |


| x + 35 |.. .. |



根据计算每一行的Value 单元格,等等 列中的单元格formatted字符串格式化,以便提供设置值的可视表示形式。 是否有一个简单的方法将 x + 10 从字符串转换为数值,给定 x的值可以在表的某个单元格中找到?

在looked的问题中,我已经将一些类似的问题转化为数学函数,但是问题本身的复杂性比我正在做的复杂,我正在寻找一个不涉及VBA的简单解决方案。


回答 1:

旧VBA函数被称为,它将采用一个可以接受的excel数学公式,并将它转换为数字和运算符。 在你的情况下你有两个步骤。 一个是对X 进行替换,第二个是求解得到的方程。

这个解决方案将生成一个 helper 列来说明步骤。 最后一个单元格不需要 helper 列,只要各个步骤中的公式正确嵌套在后面的公式中。

第 1部分- 替换

看看替代公式。 这里公式将查找另一个单元格中的给定字符串并将它的替换为另一个值。


SUBSTITUTE(string of text, text you are looking for, text you want to change to, optional occurrence to change)



在临时 helper 列中,使用以下公式并复制。 假设你对X的值在单元格Q4中。 你要处理的第一个公式是 B2.


=SUBSTITUTE(B2,"X",$Q$4)



如果X 是 10,那么应该得到一个看起来像下面这样的列:


| Setting |helper | Value |


| x + 10 |10 + 10|.. .. |


| x + 20 |10 + 20|.. .. |


| x + 35 |10 + 35|.. .. |



第 2部分- 评估

这里有几个关键步骤。 选择 10 +10右边的单元格。 原因是当我们做这个公式时,我们想要处理相对于细胞位置的细胞,我们创建的公式。 接下来要做的是创建一个命名公式。 要执行这里操作,请转到功能区上的公式选项卡。 在 Formulas ribbon的defined names中,选择 Define NAME。 在 NAME 框中,给它一个你选择的NAME的。 我喜欢答案。 你所选择的将是你将如何在你的细胞中引用它,像其他任何功能。 在引用框中输入以下公式:

 
=Evaluate(C3)



 

重要的是你要把 $ 离开单元格引用。 本例中的C3指的是具有 10 +10的单元格。 完成后单击确定在你在开始时选择的那个单元格中输入

 
=ANSWER



 

答案是你的公式的NAME。 然后它应该抓住左边的单元格并评估它并给你一个 20的答案。 复制单元格时,它将引用下一个公式,如下所示。

现在,如果没有 helper 列,你需要用代替公式定义公式,所以你的命名公式如下:


=EVALUATE(SUBSTITUTE(B2,"X",$Q$4))



现在,你需要为每个想要使用它的工作表创建这个技巧,并且不能重复公式的NAME。 我还没有找到一个解决这个问题的方法。


回答 2:

你可以使用文本编辑器,actually--as只要确定text-as-formulae中的变量映射到某些工作表单元格。

首先将text-as-formulae复制到文本编辑器 比如 NotePad++ (。即使是单词或者 Windows 记事本也可以在简单情况下工作)。

然后用单元格引用替换变量,比如 替换x → A1.

现在 switch 到公式视图,如果使用 Excel 2010,可以单击 formulas-- ( 公式审核按钮组) --show公式来完成这里操作。

4,将新公式从文本编辑器复制到 Excel。

最后,再次单击"显示公式"退出公式视图。 瞧!



str  act  String  Excel  Equation  
相关文章