我正在尝试使用index-match组合将excel中的数据集从长到宽进行整形,但是我的match index公式返回NA's
我检查了是否使用sumproducts和countifs的组合正确指定了匹配条件。这给了我1的预期结果。
我觉得我在索引匹配代码中犯了一些愚蠢的语法错误,并且希望获得一些指导。
=INDEX(D_DATABASE!$AA$4:$BBT$260,
MATCH(1,(AA$1=D_DATABASE!$N$4:$N$260)*
($U4=D_DATABASE!$U$4:$U$260)*
(AA$3=D_DATABASE!$AA$3:$BBT$3),0))
=SUMPRODUCT(COUNTIFS(AA$1,D_DATABASE!$N$4:$N$260,U4,
D_DATABASE!$U$4:$U$260,AA$3,
D_DATABASE!$AA$3:$BBT$3))
答案 0 :(得分:0)
这里:
=INDEX(D_DATABASE!$AA$4:$BBT$260,
MATCH(1,(AA$1=D_DATABASE!$N$4:$N$260)*
($U4=D_DATABASE!$U$4:$U$260)*
(AA$3=D_DATABASE!$AA$3:$BBT$3),0))
...您的最后一个比较是面向其他两个行的vs.列,因此您可以尝试将其包装在TRANSPOSE中:
=INDEX(D_DATABASE!$AA$4:$BBT$260,
MATCH(1,(AA$1=D_DATABASE!$N$4:$N$260)*
($U4=D_DATABASE!$U$4:$U$260)*
TRANSPOSE((AA$3=D_DATABASE!$AA$3:$BBT$3)),0))
但是,最后一次比较所使用的范围也比前两个范围大得多,因此我不确定您打算如何处理。
在更多信息后进行编辑:您需要将最后一个按行搜索分隔到其自己的匹配中
=INDEX(D_DATABASE!$AA$4:$BBT$260,
MATCH(1,(AA$1=D_DATABASE!$N$4:$N$260)*($U4=D_DATABASE!$U$4:$U$260),0),
MATCH(AA$3,D_DATABASE!$AA$3:$BBT$3,0))