从复杂的表中获取某些值

我在Excel中有一个相当复杂的数据结构( Google Drive链接 )。 我想从这张表中获得一定的价值:

在这里输入图像说明

我尝试了一个行列索引匹配的组合。 然而,这不起作用,因为我不知道如何find所需的列。

任何build议如何转换这个数据结构?

在M和N中添加两个帮助列

在M4中input:

 =MATCH(H4,A:A,0) 

IN N4input:

 =COUNTIF(A:A,H4)-1+M4 

这些将返回本组的第一个和最后一个行号。

然后在J4中,数组input:

 =INDEX(INDEX(INDEX($D:$D,$M4):INDEX($D:$D,$N4),MATCH(J$3,INDEX($D:$D,$M4):INDEX($D:$D,$N4),0)+1):INDEX($D:$D,$N4),MATCH(1,1/(INDEX(INDEX($B:$B,$M4):INDEX($B:$B,$N4),MATCH(J$3,INDEX($D:$D,$M4):INDEX($D:$D,$N4),0)+1):INDEX($B:$B,$N4)=$I4),0)) 

记住用Ctrl + Shift + Enter确认 。 然后根据需要填写。

有可能是一个更简单的版本!

如果您可以添加辅助列A,您可以执行以下A3: =E4 ,A4: =E4 ,A5: =E4 ,A6: =E4 ,A7: =E8

一旦你有了前四个值,你可以将它拖到第一组,然后从第二组中拖拽这四个公式到最后。

你的数据将如下所示: 在这里输入图像描述

然后在单元格K4中input以下公式:

 =SUMIFS($E$3:$E$26, $A$3:$A$26, K$3, $B$3:$B$26, $I4, $C$3:$C$26, $J4) 

一旦你有了这个,你可以任意拖拽它。

这里唯一的问题是把date列入帮助栏,上面的方法只有在所有组的大小相同的情况下才是容易的,但是我假设给定了样本数据。

此解决scheme不需要工作(帮助)单元格,只需对输出表进行一些小调整即可:

在单元格I3input单词Date

然后在单元格J4input该FormulaArray ,然后复制到J7然后到范围K4:L7

(公式数组同时按 [Ctrl] + [Shift] + [Enter]

 =INDEX($D$2:$D$26, MATCH($H4&$I$3&J$3,$A$2:$A$26&$B$2:$B$26&$D$2:$D$26,0) +MATCH($I4,OFFSET($B$2:$B$26, +MATCH($H4&$I$3&J$3,$A$2:$A$26&$B$2:$B$26&$D$2:$D$26,0),0),0))