如何在Excel中显示另一个单元格中的单元格公式

单元格g4中有以下公式:

= XIRR(D3:D4,B3:B4)

这在单元格g4中显示值1523%

我想在单元格g5中出现的是这样的:

XIRR(D3:D4,B3:B4)

但我不希望公式在单元格g5中进行评估。 我只想看看公式。 我不想写出来。 我希望我可以复制和粘贴多个像这样的单元格,我想要做的。

这里是我的spreadseet我正在寻找一个Excel或谷歌电子表格的解决scheme,但我希望它可以适用于两者。

我从excel的帮助中find了这个方便

在工作表上显示公式及其值
按CTRL +`(重音符号)。

然后我复制了我想要的记事本的单元格,并在开始时删除了= ,并replace为'xirr(D3:D4,B3:B4) ,然后将其粘贴到Excel或Google电子表格中。

该解决scheme将从excel-vba到google-spreadsheets-api不同,但方法将类似。 在VBA中,在检查单元格的Range.HasFormula属性后,可以使用Range.Formula属性 , Range.FormulaR1C1属性 , Range.FormulaLocal属性或Range.FormulaR1C1Local属性返回结果。

以下是用户定义function1(又名UDF)。 请参阅脚注的实施。

 Function showFormula(rng As Range, _ Optional xlRefStyle As Variant, _ Optional bPFX As Boolean = False, _ Optional bLOC As Boolean = True) If IsMissing(xlRefStyle) Then xlRefStyle = Application.ReferenceStyle ElseIf xlRefStyle <> 1 Then xlRefStyle = xlR1C1 End If If rng.Cells(1, 1).HasFormula Then Select Case xlRefStyle Case xlA1 If bLOC Then showFormula = _ Replace(rng.Cells(1, 1).FormulaLocal, Chr(61), IIf(bPFX, Chr(61), vbNullString)) Else showFormula = _ Replace(rng.Cells(1, 1).Formula, Chr(61), IIf(bPFX, Chr(61), vbNullString)) End If Case xlR1C1 If bLOC Then showFormula = _ Replace(rng.Cells(1, 1).FormulaR1C1Local, Chr(61), IIf(bPFX, Chr(61), vbNullString)) Else showFormula = _ Replace(rng.Cells(1, 1).FormulaR1C1, Chr(61), IIf(bPFX, Chr(61), vbNullString)) End If End Select Else showFormula = vbNullString End If End Function 

B4中SUMIFS公式的示例

showFormula
showFormula UDF语法

在具有德语区域设置的系统(以及Excel的DE-DE语言版本)上,将显示为SUMMEWENNS(B1:B3; A1:A3; "a")

showFormula DE-DE
在DE-DE系统中使用showFormula UDF语法


¹ 用户定义function(aka UDF)被放入标准模块代码表中。 点击Alt + F11 ,当VBE打开时,立即使用下拉菜单来插入►模块Alt + IM )。 将function代码粘贴到名为Book1 – Module1(Code)的新模块代码表中。 点击Alt + Q返回到您的工作表。