【问题标题】:Google Spreadsheet get address that cell points to谷歌电子表格获取单元格指向的地址
【发布时间】:2011-11-15 17:10:16
【问题描述】:

我有一个如下表所示的电子表格

+---+-----------------+-----+--------------------------------+
|   |        A        |  B  |               C                |
+---+-----------------+-----+--------------------------------+
| 1 | This is my text | =A1 | 'This should be the value "A1" |
+---+-----------------+-----+--------------------------------+

其中A1 是文本“这是我的文本”,B1 是函数=A1。我需要C1 的函数,它给我文本A1,因为这是B1 指向的单元格。 INDEXINDIRECT 似乎没有给我我想要的东西。

【问题讨论】:

    标签: google-apps-script google-sheets google-docs


    【解决方案1】:

    我知道没有返回单元格公式的 Google 电子表格函数,但您可以使用脚本编辑器定义自定义函数。定义一个自定义函数formula,它返回单元格的公式,给定单元格的行号和列号。然后在单元格C1的公式中使用自定义函数。单元格 C1 的公式将包含:

    =formula(1,2)
    

    这将导致单元格 C1 的值成为字符串:

    "=A1"
    

    对单元格 C1 中的公式进行了一些有用的改进。首先,使用row()column() 函数从单元格引用中计算行和列:

    =formula( row(B1) , column(B1) )
    

    其次,修剪掉=(根据您的问题陈述,您不想要):

    =mid( formula(row(B1),column(B1)) , 2 , 9999 )
    

    要定义函数formula,请转到工具、脚本编辑器,然后输入以下脚本:

    function formula(r,c) {
      return SpreadsheetApp . getActiveSheet() . getRange(r,c) . getFormula() ;
    }
    

    【讨论】:

      【解决方案2】:

      我知道这个问题被问到已经有九年了,但由于只有一个响应,并且它以“我知道没有返回单元格公式的 Google 电子表格函数”开头,我想我会继续回答这个问题,因为实际上有一个函数可以返回单元格的公式。

      =FORMULATEXT([CELL])

      这将完全按照它所说的那样执行并返回该单元格中的公式文本。从那里您可以使用标准的字符串函数 LEFT、RIGHT、MID 来提取您想要的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-14
        • 1970-01-01
        相关资源
        最近更新 更多