我需要帮助来解释这个棘手的公式:='[DATA.xlsm]2018'!$G$6
它有效但是......
带公式的电子表格:
包含数据的电子表格:
我需要公式来确定在哪里找到数据。见图片。公式在 VALUE 列 B 中。A 列中的 QTR 信息告诉我在哪里查找图片中的数据<data>
。
四个 QTR 匹配字段为 D1、I1、N1、S1。那么 OFFSET 为 3 列(例如:D1=1Q18,col G 为数据列,col L 为 2Q18,等等),OFFSET 行是 5(即第 6 行)。希望 OFFSET(5,3) 是正确的。
在第 10 行,我需要 B10 中的公式读取 A10 中的 1Q18 并(知道)转到'[DATA.xlsx]2018'并找到“1Q18”是 D1,然后使用 OFFSET(5,3) 找到值“1.80”。
当我们进入 FORMULA 表的第 14 行时,它会在 A14 中看到“1Q19”,并且 {知道} 转到“[DATA.xlsx]2019”。每年都有一个以 4 位数年份命名的新标签表。
答案1
你很接近了,你确实需要OFFSET
. 但你也需要MATCH
您正在查找的季度。我将公式拆分为 2 个单元格,以便您可以逐个查看,但一旦您理解了它,就可以轻松地将两者结合起来。
我篡改了一组假数据(我使用了同一个工作簿中名为“数据”的工作表): 。
然后我将另一张表命名为“报告”。在报告表中,您首先要MATCH
查找数据表中的某个位置的季度。 MATCH
有以下定义:
MATCH(查找值,查找数组,[匹配类型])
因此,我们将 设置lookup_value
为您之后的季度,将lookup_array
设置为数据集,并将 设置match_type
为 0(精确匹配)。请注意,这仅适用于单个大批(行或列),您不能提供 2D 单元格网格。这将为我们提供数组中的相对位置,索引为 1(第一项返回 1,而不是 0)。
然后我们将此信息用于OFFSET
。偏移量的定义如下:
OFFSET(参考,行,列,[高度],[宽度])
在这种情况下,引用是单个单元格。您不需要提供单元格数组或网格。所以在我的情况下,我传递Data!$B$1
。对于rows
我们需要向下偏移 2 行。列的数量比较棘手。由于函数MATCH
给出了从 1 开始的参考位置,我们已经移动到第二个月了。所以对于cols
我们需要的结果MATCH
加 2。