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

如何在excel中显示一个单元格在另一个单元格中的公式,excel,google-sheets,excel-vba,google-spreadsheets-api,Excel,Google Sheets,Excel Vba,Google Spreadsheets Api,我在单元格g4中有以下公式: =xirr(D3:D4,B3:B4) 这将在单元格g4中显示值1523% 我想在单元格g5中显示以下内容: xirr(D3:D4,B3:B4) 但我不希望公式在g5单元中计算。 我只是想看看公式。 我不想写出来。 我希望我可以像这样复制和粘贴多个单元格,我想这样做 这是我的 我正在寻找一个excel或谷歌电子表格的解决方案,但我希望它可以应用于两者 我从excel帮助中找到了这个方便的工具 在工作表上显示公式及其值之间切换 按CTRL+`(严重重音) 然后我把我想要

我在单元格g4中有以下公式:

=xirr(D3:D4,B3:B4)

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

我想在单元格g5中显示以下内容:

xirr(D3:D4,B3:B4)

但我不希望公式在g5单元中计算。 我只是想看看公式。 我不想写出来。 我希望我可以像这样复制和粘贴多个单元格,我想这样做

这是我的
我正在寻找一个excel或谷歌电子表格的解决方案,但我希望它可以应用于两者

我从excel帮助中找到了这个方便的工具

在工作表上显示公式及其值之间切换
按CTRL+`(严重重音)


然后我把我想要的单元格复制到记事本上,从一开始就删除了
=
,并用
替换了它。
这给了我类似于
'xirr(D3:D4,B3:B4)
的东西,然后我将其粘贴到excel或google电子表格中。

解决方案将与不同,但方法类似。在VBA中,结果可以与一起返回,也可以在检查单元格的属性后返回

以下是一个用户定义的函数\(又名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
函数showFormula(rng作为范围_
可选XLREF样式作为变体_
可选的bPFX为布尔值=False_
可选的bLOC(布尔值=True)
如果是missing(xlRefStyle),则
xlRefStyle=Application.ReferenceStyle
ElseIf xlRefStyle 1则
xlRefStyle=xlR1C1
如果结束
如果rng.Cells(1,1).has公式
选择Case xlRefStyle
案例xlA1
如果是集团那么
showFormula=_
替换(rng.单元格(1,1).FormulaLocal,Chr(61),IIf(bPFX,Chr(61),vbNullString))
其他的
showFormula=_
替换(rng.单元格(1,1).公式,Chr(61),IIf(bPFX,Chr(61),vbNullString))
如果结束
案例xlR1C1
如果是集团那么
showFormula=_
替换(rng.单元格(1,1).公式1c1local,Chr(61),IIf(bPFX,Chr(61),vbNullString))
其他的
showFormula=_
替换(rng.单元格(1,1).公式1C1,Chr(61),IIf(bPFX,Chr(61),vbNullString))
如果结束
结束选择
其他的
showFormula=vbNullString
如果结束
端函数
B4中的公式示例


showFormula UDF语法

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


显示DE-DE系统中的公式UDF语法



用户定义函数(也称为UDF)被放入标准模块代码表中。点击Alt+F11,当VBE打开时,立即使用下拉菜单插入► 模块(Alt+I,M)。将功能代码粘贴到名为Book1-Module1(代码)的新模块代码表中。点击Alt+Q返回您的工作表。

最简单的解决方案是[vba]或[google电子表格api]自定义项,该自定义项通过(或等效的).tks从单元格返回公式,但我不想在这种情况下使用代码。好的,很公平。在这种情况下,没有本机工作表公式可以执行此操作。是否需要添加“勾号”作为前缀字符?如果没有等号,公式就是文本。好的一点,
'
只有当您想在公式
'=xirr(D3:D4,B3:B4)
中显示=符号时才需要这个符号,否则
xirr(D3:D4,B3:B4)
就没有
了。
TKST无法在excel中使用它,不知道为什么。当我在单元格中键入
showFormula
时,它没有显示为要使用的函数。10次中有9次UDF只是放在了错误的位置(例如,右键单击工作表名称选项卡和查看代码)。有关将其合并到Excel工作簿的说明,请参见上文。