如何在工作表中的列之间映射值

How to map values between columns in worksheets

我有以下工作表

标尺文件A https://docs.google.com/spreadsheets/d/153trbK2CvrUbEiIF2YZlAhskBq4MqQCckxAxutPOnEQ/edit?usp=sharing.

电子表格文件 B

https://docs.google.com/spreadsheets/d/1jjZEXSnskjiuZQdWYqnZGn4jwZS-6RUoY8sGacZq-88/edit?usp=sharing

我想用相应月份的工作表 A 中的值填充工作表 B。请注意,具有 0 值的月份被省略,因此在工作表 A 中没有设计为第 5 个月或第 10 个月。

如何映射工作表 B 和 A 之间的值?

更新

这是我最接近的,它将行从 WORKSHEET A 导入到 WORKSHEET B 并尝试将列与月份匹配,然后 return 匹配值。但没有将其映射到适当的列

=ARRAYFORMULA(HLOOKUP(MATCH(INDEX(ARRAYFORMULA(IMPORTRANGE("153trbK2CvrUbEiIF2YZlAhskBq4MqQCckxAxutPOnEQ","Cash Flow!A1:H3"))),A1:L3),A2:L3,2))

MS Excel 有一个名为 HLOOKUP 的函数,它可以满足您的需要。我在这里为你留下了一个例子: https://d.docs.live.net/8af110ba68997b6e/Documents/HlookupExample.xlsx

这里有一个解释:https://support.office.com/en-us/article/HLOOKUP-function-a3034eec-b719-4ba3-bb65-e1ad662ed95f

一个简单的 INDEX/MATCH 就可以了:

=IFERROR(INDEX('Cash Flow'!2:2,MATCH(A,'Cash Flow'!1:1,0)),0)

放在第一个单元格,然后复制过来。

请注意,如果您的 sheet 位于不同的文件中,请将 'Cash Flow'!2:2'Cash Flow'!1:1 替换为:

IMPORTRANGE("YourURLString","'Cash Flow'!2:2")

IMPORTRANGE("YourURLString","'Cash Flow'!1:1")

分别

实际公式:

=iferror(index(IMPORTRANGE("https://docs.google.com/spreadsheets/d/153trbK2CvrUbEiIF2YZlAhskBq4MqQCckxAxutPOnEQ/edit?usp=sharing","'Cash Flow'!3:3"),match(A,IMPORTRANGE("https://docs.google.com/spreadsheets/d/153trbK2CvrUbEiIF2YZlAhskBq4MqQCckxAxutPOnEQ/edit?usp=sharing","'Cash Flow'!2:2"),0)),0)


顺便说一句:HLOOKUP 也可以完成这项工作:

=IFERROR(HLOOKUP(A,'Cash Flow'!:,2,FALSE),0)

注意,如果您的 sheet 位于不同的文件中,请将 'Cash Flow'!: 替换为:

IMPORTRANGE("YourURLString","'Cash Flow'!1:2")

现在您已经分享了 sheet:

=IFERROR(HLOOKUP(A,IMPORTRANGE("https://docs.google.com/spreadsheets/d/153trbK2CvrUbEiIF2YZlAhskBq4MqQCckxAxutPOnEQ/edit?usp=sharing","'Cash Flow'!2:3"),2,FALSE),0)


另一种选择; SUMIF()

=SUMIF('Cash Flow'!1:1,A,'Cash Flow'!2:2)

这不适用于 google sheet 中的跨文件。


我的现金流量供参考: