如何在不使用VBA的情况下将一个单元格作为文本获取另一个单元格的公式?我可以看到这个问题已被多次询问,答案总是在VBA中编写自定义函数.
但是,我在2006年发现了一篇声称发现了非VBA解决方案的帖子,但该帖子中提供的链接已经破了.
san*_*ica 16
没有VBA就可以做到这一点.它使用XL4宏(这些是宏,但它不是VBA,如所要求的那样).
参考图1,单元格A2:A4包含通常的配方.

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

输入单元格B2 =FormulaAsText.这将检索单元格A2中的公式为文本.
说明:命名范围FormulaAsText使用=GET.CELL(info_type,reference).在这种情况下,ìnfo_type = 6检索公式,并reference = OFFSET(INDIRECT("RC",FALSE),0,-1)使用0行和-1列的单元格偏离使用公式的单元格.
复制B2并粘贴到B3:B4.这将显示A3:A4中的公式.单元格A4显示工作表函数CELL仅检索值,而不是公式(而不是公式GET.CELL).
由于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及更高版本.
| 归档时间: |
|
| 查看次数: |
64560 次 |
| 最近记录: |