我有一个类似下表的电子表格
+---+-----------------+-----+--------------------------------+
| | A | B | C |
+---+-----------------+-----+--------------------------------+
| 1 | This is my text | =A1 | 'This should be the value "A1" |
+---+-----------------+-----+--------------------------------+
其中A1
是“这是我的文字”,B1
是函数=A1
。我需要C1
的函数给我文本A1
,因为那是B1
指向的单元格。 INDEX和INDIRECT似乎没有给我我想要的东西。
答案 0 :(得分:0)
我知道没有Google Spreadsheet函数可以返回单元格的公式,但您可以使用“脚本编辑器”定义自定义函数。定义自定义函数公式,它返回单元格的公式,给定单元格的行号和列号。然后在单元格C1的公式中使用自定义函数。单元格C1的公式包含:
=formula(1,2)
这会导致单元格C1的值为字符串:
"=A1"
对单元格C1中的公式进行了一些有用的改进。首先,使用row()
和column()
函数计算单元格引用中的行和列:
=formula( row(B1) , column(B1) )
其次,修剪=
(根据您的问题陈述,您不需要):
=mid( formula(row(B1),column(B1)) , 2 , 9999 )
要定义公式功能,请转到“工具”,“脚本编辑器”,然后输入以下脚本:
function formula(r,c) {
return SpreadsheetApp . getActiveSheet() . getRange(r,c) . getFormula() ;
}
答案 1 :(得分:0)
我知道自从提出这个问题以来已经有九年了,但是由于只有一个回复并且它以“我知道没有返回单元格公式的 Google 电子表格函数”开头,我想我会继续回答这个问题,因为实际上有一个函数可以返回单元格的公式。
=FORMULATEXT([CELL])
这将完全按照它说的做,并返回该单元格中的公式文本。从那里您可以使用标准字符串函数 LEFT、RIGHT、MID 从中提取您想要的内容。