如何到达细胞链的末端

时间:2018-07-18 21:53:32

标签: libreoffice libreoffice-calc

我有一个两张纸的文件:

sheet_A

  A        B
1 Mr. Joe  USD

sheet_B

A              B
1 =sheet_A.A1 ???

sheet_B.B1应显示值USD。我知道我可以使用=sheet_A.B1轻松获得它,但是我不想要那样。

如果我输入sheet_B.B1 =ADDRESS(ROW();COLUMN()-1),则会得到输出$ C $ 1并带有=INDIRECT(ADDRESS(ROW();COLUMN()-1)) Mr. Joe

如何通过链sheet_B.B1 - sheet_B.A1 - sheet_A.A1 - sheet_A.B1“导航”?

编辑1

也许我需要这样的东西

=OFFSET(FORMULA(ADDRESS(ROW();COLUMN()-1);0;1)

sheet_B.B2应显示与sheet_B.A1中的值相关的sheet_A.B2的内容

1 个答案:

答案 0 :(得分:1)

这里有两种可能。任一公式都会在USD中产生sheet_B.B1

=INDIRECT(ADDRESS(ROW();COLUMN();;;"sheet_A"))
=VLOOKUP(A1;$sheet_A.A1:B1;2)

文档:ADDRESSVLOOKUP

编辑

另一个想法:以下代码生成字符串“ = sheet_A.A1”,可以将其解析为工作表名称和单元格地址。也许您想使用它来引用sheet_A.B1。

=FORMULA(INDIRECT(ADDRESS(ROW();COLUMN()-1)))

但是,正如我所评论的那样,可能有一种更简单的方法来完成您要完成的任务。

文档:FORMULA

编辑2

这是您要求的公式。它使用REPLACE删除字符串开头的=

=OFFSET(INDIRECT(REPLACE(FORMULA(INDIRECT(ADDRESS(ROW();COLUMN()-1)));1;1;""));0;1)