excel - 将文字文本转换为公式

标签 excel text excel-formula excel-indirect

使用 MS Excel 2010:我使用 CONCATENATE 公式创建了一个看起来像公式的文本字符串,并且需要一个将文本字符串转换为公式的公式;无需使用 MS Excel 特殊粘贴功能或 VBA/宏。

示例:在单元格 B2:G2 中包含文本,在单元格 B4 中,我有返回文本字符串的 CONCATENATE 文本公式

=TRIM(CONCATENATE(B2&" "&C2&" "&D2&" "&E2&" "&F2&" "&G2&" "&H2))

我希望 Excel 将此字符串解释为公式,并将单元格 B6 中的值返回/显示为:“永远做你自己……不要出去寻找成功的个性并复制它。” - 李小龙

enter image description here

我尝试使用 INDIRECT公式并且没有成功,不确定这是我的公式还是可能。示例:单元格 B6:
=INDIRECT(CONCATENATE("B4"))

最佳答案

1) CONCATENATE 和 & 是一回事。换句话说,您以字符串形式编写的公式可以翻译为:

=TRIM(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(B2)," "),C2)," "),D2)," "),E2)," "),F2)," "),G2)," "),H2))

如果您要为您的函数写出 CONCATENATE ,则将您想要连接在一起的所有字符串分开,就像@MarcoVos 在对您的问题的评论中指出的那样:
=CONCATENATE(B2," ",C2," ",D2," ",E2," ",F2," ",G2," ",H2)

或者,如果你想使用更常见的 & 你的公式看起来像你最初发布的没有 CONCATENATE 的形式,如下所示:
=B2&" "&C2&" "&D2&" "&E2&" "&F2&" "&G2&" "&H2

最后两个公式将产生相同的结果。

2) INDIRECT 函数将文本转换为单元格引用或地址。它不会将公式转换为文本并吐出公式的结果。宏 Vos 在他的回答中是正确的,因为 FORMULATEXT() 将在引用的单元格中将公式显示为文本或字符串。如果您需要遵循提供字符串的顺序,然后必须将字符串转换为公式,那么我建议您使用 EVALUATE 函数。但是,您不能使用常规 excel 公式中的 EVALUATE。不过,您可以从命名范围调用它。创建一个命名范围。例如,我们称它为 EvalText。在用于创建命名范围的公式部分中,输入:
=EVALUATE($B$4)

它将自动添加工作表名称。现在,您可以在工作表上的任何单元格中输入:
=EvalText

它将返回 B4 中的任何字符串作为公式。如果它不是正确的 excel 公式,它将吐出一个错误。

关于excel - 将文字文本转换为公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36953406/

相关文章:

excel - Excel 中大数的十进制到二进制转换

excel - Excel COUNTIFS 函数中的数组作为条件,混合 AND 和 OR

Excel获取两个单元格之间的最大值(非范围)

c# - Excel XML 电子表格 CSHTML

打印与屏幕和分页符的 Excel 条件内容/格式

html - tumblr 预览呈现的文本样式与实际站点不同

python - 从大字典匹配子字符串的最快方法

algorithm - 需要帮助在算法中表达列

使用 win32com 的 Python、Excel 和图表

linux - 使用 bash 为文本文件中的所有列添加双引号