获取目标细胞中另一个细胞的配方

Pup*_*per 22 excel formulas

如何在不使用VBA的情况下将一个单元格作为文本获取另一个单元格的公式?我可以看到这个问题已被多次询问,答案总是在VBA中编写自定义函数.

但是,我在2006年发现了一篇声称发现了非VBA解决方案的帖子,但该帖子中提供的链接已经破了.

小智 21

=FormulaText(Reference)将做的技巧文档

  • 它在Excel 2010中不存在. (5认同)

san*_*ica 16

没有VBA就可以做到这一点.它使用XL4宏(这些是宏,但它不是VBA,如所要求的那样).

参考图1,单元格A2:A4包含通常的配方.

在此输入图像描述

  1. 转到公式 - >定义名称,我定义了两个命名范围(见图2),信息显示在单元格A6:B8中.

    在此输入图像描述

  2. 输入单元格B2 =FormulaAsText.这将检索单元格A2中的公式为文本.

    说明:命名范围FormulaAsText使用=GET.CELL(info_type,reference).在这种情况下,ìnfo_type = 6检索公式,并reference = OFFSET(INDIRECT("RC",FALSE),0,-1)使用0行和-1列的单元格偏离使用公式的单元格.

  3. 复制B2并粘贴到B3:B4.这将显示A3:A4中的公式.单元格A4显示工作表函数CELL仅检索值,而不是公式(而不是公式GET.CELL).

  4. 由于FormulaAsText从当前的固定偏移量(0,-1)的单元格获取公式,我定义了另一个范围FormulaAsText2,它使用从工作表本身读取的偏移量(行,列).细胞D2:D4含有=FormulaAsText2.因此,单元格D2显示单元格B3(=OffSET(D2,1,-2))的内容,即FormulaAsText.细胞D3:D4显示自身的内容.这增加了一些灵活性.因人而异.

PS1:本质来自 http://www.mrexcel.com/forum/excel-questions/20611-info-only-get-cell-arguments.html

PS2:Tim Williams在评论中提到"老XLM GET.FORMULA()".这个答案可能是相关的(不一样,因为这个使用GET.CELL()).

PS3:提供了一个简单的VBA解决方案,例如 http://dmcritchie.mvps.org/excel/formula.htm


编辑:补充这个不错的答案,工作表功能FormulaText用于Excel 2013及更高版本.