为多个条件创建索引(Match()),并为多个日期创建多个结果

时间:2018-11-09 16:20:07

标签: excel date indexing match pivot-table

解决这个问题的方法一直使我不知所措,并且肯定伤害了我的大脑,因此希望这里的人可以伸出援手。本质上,我大约有10列数据。这些列之一包含我要使用的标识符,另一列包含我要引用的日期,其余的列是我要用于填充表的值。我正在尝试建立一个工具,在其中输入标识符和日期,它会告诉您该特定配对的其他列。

但是,问题是数据集包含多个重复的日期(日期在一列中),有时还包含重复的标识符。因此,标识符1可能会在1/1/2018出现3次,然后再出现3次在1/2/2018。

请原谅我的经验不足,因为这可能是错误的显示方式,但这是我希望我的数据看起来像的样子,箱位是第1,第2,依此类推。日期:

Identifier - A1
Date - 1/1/2018
Bin Column1 Column2 Column3 Column4
1      1       2       3       4
2      1       2       3       4
3
4
5

“标识符”和“日期”将是手动输入,表格的其余部分将自动填充。我整个上午一直在寻找使用index(match())的不同方式,但尚未取得任何成功。我不确定我是用错误的方式还是用什么方式来解决,但是对于此问题的任何帮助将不胜感激。

PS-我知道数据透视表很可能会为我提供所需的信息,但是该表不是供我自己使用的,因此我尝试使其尽可能简单(输入两行,必要信息弹出。)

编辑-这是当前设置数据的方式:

`Dataset

2 个答案:

答案 0 :(得分:1)

通常看起来像:

= INDEX('排列所有数据,而不是标题',MATCH('要匹配的行标题值','行标题范围',0),MATCH('要匹配的列标题','列标头范围',0))

答案 1 :(得分:1)

使用此:

=IFERROR(INDEX(C:C,AGGREGATE(15,7,ROW($B$2:INDEX($B:$B,MATCH("zzz",$A:$A)))/(($B$2:INDEX($B:$B,MATCH("zzz",$A:$A))=$J$2)*($A$2:INDEX($A:$A,MATCH("zzz",$A:$A))=$J$1)),ROW(1:1))),"")

![![enter image description here

注意:请注意,这是一个通常用Enter输入的数组公式,但是如果数据集很大,作为数组公式,它将减慢计算速度。