您可以将公式应用于Excel中的公式而不是值吗?


2

例如,如果单元格A1包含函数=SUM(B1:B6),有没有办法可以使用公式SUBSTITUTE(A1,"SUM","COUNT")来返回公式=COUNT(B1:B6)

或者,是否有一个公式将返回已输入的内容 - 即=SUM(B1:B6)以字符串而不是值返回?


有点难以理解你的尝试。你能解释一下你想要实现的整体目标吗?当你只能=COUNT(B1:B6)用作公式时,你想要改变公式是没有意义的。
CharlieRB 2016年

1
你可以用EVALUATE来完成这种事情。退房的功能选择在这个迷你型的教程“使用本在日常生活中”下的下拉例如:myonlinetraininghub.com/...。这至少可以通过Excel 2010获得。请注意,它需要命名范围。它甚至可能完成了MátéJuhász答案中的最后一步。
fixer1234

1
如果您能够重新构建需求,则可以使用SUBTOTAL之类的功能。您可以在参数中指定要应用的数学函数。
fixer1234

Answers:


2

有一个FORMULATEXT版本从2013年开始提供。

所以你可以使用both
FORMULATEXT(A1)

SUBSTITUTE(FORMULATEXT(A1),"SUM","COUNT")
Second将公式作为文本,你无法评估它。

对于2010年之前的版本,您只能使用VBA。


我没有准备好访问Excel来玩这个,但在最后一步使用EVALUATE结账。
fixer1234

@ fixer1234:评估仅在VBA中可用。
MátéJuhász

至少通过Excel 2010,您可以在引用命名范围的公式中使用EVALUATE。
fixer1234

@ fixer1234:你确定吗?它对我不起作用(2013),也在寻找在线帮助我找不到它的任何参考。
MátéJuhász

1
这篇SU帖子描述了在名称管理器中使用它:superuser.com/a/774135/364367。另一个参考:sumproduct.com/thought/evaluating-evaluate.html。另外:chandoo.org/wp/2011/05/16/lost-excel-functions
fixer1234

2

这实际上是对MátéJuhász答案的补充,而不是对问题的完整解决方案。答案是包含图像的唯一方法,这种方法可能会受限于它将使用哪个版本的Excel。

我在对问题的评论和Máté的答案中提到了EVALUATE函数。我没有访问Excel 2013(并且不知道Máté可能在多大程度上测试了这个)。我对Excel 2007进行了快速测试,遗憾的是,它不支持FORMULATEXT函数。所以我不能直接应用这个答案。但是,这是如何使用的性质; 它需要适应实际的解决方案。

截图

单元格A1包含问题中的原始公式。A2包含替换文本(由于不支持FORMULATEXT,因此必须对A1公式进行硬编码)。A3是对命名范围的引用,其中包含应用于替换公式的EVALUATE函数。

如果这在Excel 2013中有效,则解决方案如下所示:

创建一个命名范围(称之为“公式”),定义为:

=EVALUATE(SUBSTITUTE(FORMULATEXT(A1),"SUM","COUNT"))

请参阅命名范围以获得结果:

=formula
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.