【问题标题】:Google spreadsheet formula to resolve string as a cell谷歌电子表格公式将字符串解析为单元格
【发布时间】:2013-01-19 22:11:46
【问题描述】:

使用谷歌电子表格有没有办法将单元格值评估为查找操作中的行?例如,我想评估一个单元格的值并将其用作查找另一个单元格的行,而不是 =D2 来获取 D2 的值。我查看了谷歌电子表格公式文档,但无法找到解决方案。

下面的伪代码说明了我正在尝试做的事情。

A B C D 1 天 2 =[B1]2 10 3 =[B1]3 9 4 =[B1]4 8

鉴于 B1 的值为“D”,我希望单元格 B2、B3 和 B4 分别解析为 10、9 和 8。

【问题讨论】:

    标签: google-sheets google-drive-api


    【解决方案1】:

    您可能正在寻找这样的东西:

    =INDIRECT(INDEX(B$1;1;1)&ROW())

    1. INDEX(B$1;1;1) 获取 B1 单元格的内容(1;1 是强制性参数,因为您可以为 INDEX 提供范围和表示:范围内的第一行;范围内的第一列,即 D
    2. ROW() 返回当前行号,可以是2、3
    3. & 连接两个值,因此处理结果类似于 "D" & "2" => "D2"
    4. INDIRECT(reference) 返回对要为其返回内容的单元格或区域(以文本形式)的引用。

    https://support.google.com/drive/table/25273?hl=en

    不过,根据最初的问题,可能会有更好的解决方案。以上只是对您问题的直接回答。

    【讨论】:

      【解决方案2】:

      考虑到 PsychoFish 关于使用 INDEX()INDIRECT() 的建议的正确性和有用性,以及任何一种解决方案对所有问题的有限用处,我认为以下公式在这个特定的案例:

      =INDIRECT(B$1&Row())
      

      【讨论】:

      • 对于手头的情况,更简单的语法总是有助于更快地完成工作。我只是想说明 INDEX 和 INDIRECT 组合的用法,以防需要解决更一般的问题。
      猜你喜欢
      • 2015-05-09
      • 1970-01-01
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多