Google 工作表中的动态单元格引用
Dynamic cell reference in Google Sheets
我想拿到Evan的工资。此代码运行完美:
=vlookup("Evan",{A2:A,D2:D},2,0)
>> will output 44444
但是如何使单元格引用动态化呢?所以在 =vlookup("Evan",{A2:A,D2:D},2,0) 中,我想制作 'D'动态。假设,这是一个很大的 table,我们不知道 'salary' 列的位置,因此将在 'salary' 的左侧插入新列(或删除列)将工资列向左或向右推的列。有一件事要确保第一行只有唯一的 'salary' header 标题,假设我们不知道该列在哪里,所以我们将通过 'salary' 字符串追逐它。
所以问题是:如何制作代码,这样引用 'salary' 列的单元格就不会被破坏。
有两种方法可以完成您想要的。以下 google sheet 中包含两个示例。 https://docs.google.com/spreadsheets/d/1vI3S4k0vGrtIY8iZBgmKDdAYR5yLadasmWw0Jewrl0g/edit?usp=sharing
示例 1:在此示例中,您将所有数据指定为范围,并使用 MATCH 函数获取相应 header.
的索引位置
=VLOOKUP("Evan",A:D,MATCH("Salary",1:1,0),false)
示例 2:这就是您要问的问题,可以通过以下函数的组合来完成:MATCH、ADDRESS、REPT、REGEXTRACT、SUBSTITUTE 和 INDIRECT。 sheet.
中详细介绍了它的工作原理
=VLOOKUP("Evan",{A2:A,Indirect(Substitute(REGEXEXTRACT(REPT(Address(1,match("Salary",:,0),4),2),"[^1]*1[^1]*"),1,"2:"))},2,false)
干杯!
这将在 sheet:
中追踪工资栏
=VLOOKUP("Evan", {A1:A, INDIRECT(
ADDRESS(1, MATCH("Salary", 1:1, 0))&":"&
ADDRESS(ROWS(A:A), MATCH("Salary", 1:1, 0)))}, 2, 0)
我想拿到Evan的工资。此代码运行完美:
=vlookup("Evan",{A2:A,D2:D},2,0)
>> will output 44444
但是如何使单元格引用动态化呢?所以在 =vlookup("Evan",{A2:A,D2:D},2,0) 中,我想制作 'D'动态。假设,这是一个很大的 table,我们不知道 'salary' 列的位置,因此将在 'salary' 的左侧插入新列(或删除列)将工资列向左或向右推的列。有一件事要确保第一行只有唯一的 'salary' header 标题,假设我们不知道该列在哪里,所以我们将通过 'salary' 字符串追逐它。
所以问题是:如何制作代码,这样引用 'salary' 列的单元格就不会被破坏。
有两种方法可以完成您想要的。以下 google sheet 中包含两个示例。 https://docs.google.com/spreadsheets/d/1vI3S4k0vGrtIY8iZBgmKDdAYR5yLadasmWw0Jewrl0g/edit?usp=sharing
示例 1:在此示例中,您将所有数据指定为范围,并使用 MATCH 函数获取相应 header.
的索引位置=VLOOKUP("Evan",A:D,MATCH("Salary",1:1,0),false)
示例 2:这就是您要问的问题,可以通过以下函数的组合来完成:MATCH、ADDRESS、REPT、REGEXTRACT、SUBSTITUTE 和 INDIRECT。 sheet.
中详细介绍了它的工作原理=VLOOKUP("Evan",{A2:A,Indirect(Substitute(REGEXEXTRACT(REPT(Address(1,match("Salary",:,0),4),2),"[^1]*1[^1]*"),1,"2:"))},2,false)
干杯!
这将在 sheet:
中追踪工资栏=VLOOKUP("Evan", {A1:A, INDIRECT(
ADDRESS(1, MATCH("Salary", 1:1, 0))&":"&
ADDRESS(ROWS(A:A), MATCH("Salary", 1:1, 0)))}, 2, 0)