我如何用单元格引用替换所引用单元格包含的公式

问题描述 投票:0回答:1

如何用单元格引用替换它包含的公式,换句话说,是“扩展”或“派生”单元格引用?

一个例子,我知道我可以使用PV()进行计算:假设我想计算给定数量,减速器,期数和折现率的现值,并且在电子表格中具有:]

A2:1(周期数)B2:5000(金额)C2:0.8(减速器)G1:6%(折扣率)

如果我想计算D2上的最终结果,则必须输入:

=(B2 * C2)*(1 + $ G $ 1)^(-A2)

((我在上面故意使用了一些不必要的括号)

但是如果我想调试,或通过嵌套更多的计算来构建更复杂的公式,请写在单元格上:

D2:= E2 * F2 ^ G2E2:= B2 * C2F2:= 1 + $ G $ 1G2:= -A2

以便我可以检查计算的每个部分是否正常,并且最终公式是否“正确组装”(或轻松纠正可能出问题的地方,或对其进行更改以计算其他内容,例如终值,我会删除G2上的减号。

并在执行了这些步骤之后,在单元格D2上使用了一些要替换的功能/快捷方式/功能

“ = E2 * F2 ^ G2”

for

“ =(B2 * C2)*(1 + $ G $ 1)^(-A2)”

(即E2→(B2 * C2)F2→(1 + $ G $ 1)和G2→(-A2)),这样所需的公式就建立在正确的位置,我可以除去临时单元格。

我能找到的最接近此行为的是Formulatext()函数,但它仅适用于单个引用,例如,如果我这样做,则总是包含“ =”]]

= CONCAT(FORMULATEXT(E2);“ *”; FORMULATEXT(F2);“ ^”; FORMULATEXT(G2))

结果

= B2 * C2 * = 1 + $ G $ 1 ^ =-A2

这不是期望的结果。

我期望找到的东西就像选择一个公式的一部分并按F9并将其替换为值,但应用于函数或中间步骤时一样。

我如何用单元格引用替换它包含的公式,换句话说就是“扩展”或“派生”单元格引用?一个例子,我知道我可以使用PV()计算它:假设我想...

excel excel-formula shortcut substitution
1个回答
0
投票

由于它似乎在Excel上实际上不存在内置功能,因此我根据Parsing and extracting cell references from Excel formulas?的答案提出了一个用于执行此操作的脚本>

在Excel 365上运行(也可以在其他版本上使用),仅替换活动单元格上的引用,不适用于包含间隔的单元格(例如,它将在包含= sum(A1:A5)的单元格上失败),并且先前单元格的内容将最终用括号括起来。它也不会替换“锁定”的单元格(= $ B $ 2也不会被替换)。

总的来说,它并不完美,也许也不是很优雅,但是它似乎和我需要的一样好,并且可以在建议的范围内工作。

© www.soinside.com 2019 - 2024. All rights reserved.