【问题标题】:Sum multiple values in Index/Match function对索引/匹配函数中的多个值求和
【发布时间】:2016-10-12 08:44:29
【问题描述】:

我正在处理一个配送问题,分析交付给一组商店(75 家商店)的数量。

我有一个 Excel 文件如下:

如您所见,每一天都包含不同的商店,因为每个商店并非每天都收到送货。

我想获得一个新表,其中列中包含商店的代码,行中包含有关体积和里程的信息。此外,鉴于它们属于同一商店,我想对卷的值求和。在这个例子中,这看起来像这样:

您可以想象,我的电子表格要大得多,总共有 6500 行和 800 列。我正在考虑使用 INDEX/MATCH 的函数组合,但我看不到如何将给定商店在给定日期的多个值相加。

【问题讨论】:

  • 你试过使用数据透视表吗?

标签: excel indexing sum


【解决方案1】:

虽然您需要扩展此公式,但您可以使用:

=SUMIF(INDEX($C:$F,MATCH($J2,$A:$A,0),),L$1,INDEX($C:$F,MATCH($J2,$A:$A,0)+MOD(ROW(),2)+1,))

如果表是这样建立的:

从 L2 开始,您可以根据需要简单地向下和向左拖动 ;)

编辑
还要获得商店:

L1: {=MIN(IF(MOD(ROW($C$1:$F$6),3)=1,$C$1:$F$6))}

这是一个数组公式,必须在没有{} 的情况下输入,但要通过 ctrl+shift+enter 确认!

M1: =SUMPRODUCT(SMALL(IF(MOD(ROW($C$1:$F$6),3)=1,$C$1:$F$6),SUM((IF(MOD(ROW($C$1:$F$6),3)=1,$C$1:$F$6)<=L$1)*1)+1))

从 M1 你可以简单地复制到右边。

并获取日期(如果不连续或类似的东西)

J2: =MIN(A:A)
J3: =J2
J4: =SMALL(A:A,COUNTIF(A:A,"<="&J3)+1)
J5: =J4

然后简单地复制 J4:J5 :)

【讨论】:

    【解决方案2】:

    不要将商店放在列中,使用 VBA 或类似工具来读取输入文件并规范化数据,以便输出看起来像一个表格

    Store  -  Date      - Volume  -  Miles
    101     10/06/2016     520        120
    102     11/06/2016     500        100
    

    然后,您可以随时查找商店和日期或稍后转置数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多