【问题标题】:Using Index Match within a non-standard table在非标准表中使用索引匹配
【发布时间】:2019-07-25 13:59:28
【问题描述】:

我有一个负责 Google Ads 等的日常绩效经理。每天或每隔几天,我都会将基本指标数据复制到表格中,然后我可以查看一段时间内的效果和预算支出。

看起来像这样:

date        Clicks Impression CTR   Cost Conversions CPA   CPC   CVR
01/03/2019  23       150      15%    $20   2         $10  $0.67  8.7%
02/03/2019  23       150      15%    $20   2         $10  $0.67  8.7%
03/03/2019  23       150      15%    $20   2         $10  $0.67  8.7%
04/03/2019  23       150      15%    $20   2         $10  $0.67  8.7%
05/03/2019  23       150      15%    $20   2         $10  $0.67  8.7%
06/03/2019  23       150      15%    $20   2         $10  $0.67  8.7%
07/03/2019  23       150      15%    $20   2         $10  $0.67  8.7%
08/03/2019  23       150      15%    $20   2         $10  $0.67  8.7%
09/03/2019  23       150      15%    $20   2         $10  $0.67  8.7%

以此类推,直到月底。每个月重复一次。在每个 Month 部分的末尾,它有月份的名称和每个月的总计。

我管理着很多客户,我制作了一个 Excel 工作簿,让我可以为每个客户使用一张工作表来完成所有这些工作。我的问题是我想要一个仪表板,其中包含每个客户在一个月内的表现的快照,以便我自己更轻松。

我的第一次尝试是使用 INDEX MATCH,但是,您需要一个表格才能使用它。所以我尝试使用命名范围来创建表。我创建了一个 Client1StatsTable,在其中我只选择了包含月份总计的行和一个具有月份名称的 Client1MonthName 范围。

这意味着我认为我可以在 INDEX MATCH 中运行该范围,就好像它是一个真实的表一样。我写了以下2个公式:

INDEX(Client1StatsTable, MATCH(TEXT(DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY())),"mmmm"),Client1MonthName,0), 3)  
INDEX(Client1StatsTable,MATCH(K12,Client1MonthName,0),3)

我会为每个客户重复此操作,以获取有关不同指标的本月至今的性能快照。

但是,我收到了 #N/A 错误。当我通过 Excel 中的 Evaluate Formula 函数运行它时,我发现即使该范围被正确解析为多行和断开连接的单元格,但在尝试放置 Month 时却卡住了匹配中。

它正确解析了月份,但在范围内找不到它。

最终表应将每个客户都放在一个表中,如下所示:

Date     ClientName    CTR  CPC  CPA  CVR  Spend  Amount of Budget Used
04/03/2019  Client 1    5%   $0.86  $15  2%   $30   15%

我希望在不使用 VBA 的情况下完成此操作。

【问题讨论】:

  • 您考虑过使用数据透视表吗?
  • 数据透视表理论上只适用于由第二个公式表示的年初至今快照。因为在那种情况下,我必须为每个客户创建一个单独的表。对于本月至今,我希望为一个表中的每个客户创建当前月份的快照。它会像这样:日期客户名称点击率 CPC CPA CVR Spend Amount of Budget Used
  • INDEX 和 MATCH 不需要数据在表中:索引范围可以在工作表 2 上,匹配范围在工作表 1 上,all 需要是为了两个范围的长度相同。
  • 这两个公式都对我有用。我确实必须将日期格式更改为“MMMM”,因为“mmmm”是分钟而不是几个月(这可能取决于系统语言)。如果您还没有的话,您可能还想查看 PowerQuery(2010/2013 插件,2016 年集成)。
  • @SolarMike 是的,但基于 Evaluate Formula 工具。它自己卡在 MATCH 中

标签: excel excel-formula dashboard


【解决方案1】:

您可以使用sumproduct-filtersbooleans 重新创建pivot table 以方便您

=Sumproduct(--(condition_1);--(condition_2); Sum_of_range)

这是你的例子:

客户 A 在 2019 年 4 月 3 日的点击率

= Sumproduct(--(Client_range='A');--(Date_range='4/3/19'); Sum_of_CTR)

对仪表板的其余字段执行相同操作

【讨论】:

  • 每个客户都有自己的工作表,每个工作表的每个月部分的底部都有一个计数。我正在尝试在仪表板上构建一个表格,以动态选择适当月份的方式提取本月至今的总数。
【解决方案2】:

最后我找到了答案,感谢@hsan,我最初认为各个月份名称之间的值会妨碍 INDEX MATCH。我回顾了测试它的原始代码,并将 MATCH 中的最终值设置为 -1。 原来是这样:

INDEX(ClientName1!$A$42:$K$420,MATCH(TEXT(DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY())),"mmmm"),ClientName1!$A$42:$A$420,-1),3)

但是当我这样做的时候

INDEX(ClientName1!$A$42:$K$420,MATCH(TEXT(DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY())),"mmmm"),ClientName1!$A$42:$A$420,0),3)

成功了

【讨论】:

    猜你喜欢
    • 2020-06-08
    • 2016-05-15
    • 2020-05-30
    • 1970-01-01
    • 2016-05-11
    • 2019-06-18
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多