索引/匹配引入与预期不同的内容

索引/匹配引入与预期不同的内容

我正在检查一年内的网站统计数据。因为我希望整个工作簿根据所选月份而动态变化,所以我将几年的所有数据都放在一个工作表中。

使用索引/匹配组合,当年份被分成多个工作表时,我能够轻松做到这一点,但现在却做不到了。

以下是两种表达方式。

当前月份/年份=INDEX(DATA,MATCH(Data!A4,HEADERS,0),MATCH($B$3,MONTHS2013,0))

上月/上年=INDEX(DATA,MATCH(Data!A4,HEADERS,0),MATCH($F$3,MONTHS2012,0))

问题是,如果所有数据都在一个工作表上,两个公式总是默认使用第一个月份单元格。我尝试将单元格从 7 月重命名为 2012 年 7 月和 2013 年 7 月,但结果还是一样。

图片 1

图片 2

我甚至尝试进入并指定单元格范围而不是使用单元格范围名称。

有什么想法吗?

(我应该指定月份日期都在一行上,尽管每个月份都被赋予了唯一的名称。)

对不起。

数据——原始数据

数据!A4 - 独立访客

HEADERS - 数据行名称(即唯一访客)

MONTHS2013、MONTHS2012 都是月份范围,尽管它们位于同一行。

我将制作一份缩小的 2 个工作表副本并链接到它。

(添加 http:)//www.handyblues.org/images/WebReport.xlsx

无法发布超过两个链接,因此将其分开。

我真的非常非常想骂自己一开始没有尝试这个解决方案。我还将在其他一些页面上构建动态图表,所以真的需要这个解决方案才能发挥作用。感谢您指出月份问题,现在它可以按预期工作了。

答案1

问题出在您命名的范围上。

MONTHS2013来自 N2:Z2 而您的DATA来自 B2:Z80

当您使用匹配作为列号(在索引函数中)时,您将从8匹配中获取值,因为它从 N 列开始并与 U 列匹配。选择第 8 列,DATA您将获得要获取的值。

我建议为月份保留一个命名范围,从 B2 开始到 Z2 结束。您可能还必须检查所有命名范围,以防有更多需要更正的地方。

否则,您可以使用HLOOKUP以下语法:

=HLOOKUP(B$3, Data!$2:$80, ROW()-2, FALSE)

然后向下(或向右)拖动到您需要的位置。我注意到您HEADERS在两个工作表中使用的是相同的,因此您可以使用它ROW()-2来匹配所需的列数。

相关内容