Excel 使用索引、匹配和连接创建列表

Excel 使用索引、匹配和连接创建列表,excel,excel-formula,concatenation,Excel,Excel Formula,Concatenation,我在Excel中有一个公式,几乎可以用了。然而,这个公式中有一部分,不管我做了什么,我似乎都无法让它起作用 工作公式 =IFERROR(INDEX(DDRT!$K$7:$K$158,SMALL(IF(DDRT!$K$7:$K$158<>"",MATCH(ROW(DDRT!$K$7:$K$158),ROW(DDRT!$K$7:$K$158)),""),ROW(A1))),"") =CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmit

我在Excel中有一个公式,几乎可以用了。然而,这个公式中有一部分,不管我做了什么,我似乎都无法让它起作用

工作公式

=IFERROR(INDEX(DDRT!$K$7:$K$158,SMALL(IF(DDRT!$K$7:$K$158<>"",MATCH(ROW(DDRT!$K$7:$K$158),ROW(DDRT!$K$7:$K$158)),""),ROW(A1))),"")
=CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)),":",ADDRESS(List!$E$7,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)))
=IFERROR(INDEX(CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)),":",ADDRESS(List!$E$7,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0))),SMALL(IF(CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)),":",ADDRESS(List!$E$7,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)))<>"",MATCH(ROW(CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)),":",ADDRESS(List!$E$7,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)))),ROW(CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)),":",ADDRESS(List!$E$7,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0))))),""),ROW(A1))),"")
返回值-DDRT$K$7:$K$158

当我尝试将两个公式组合在一起时,数组不起作用并返回错误:

非工作公式

=IFERROR(INDEX(DDRT!$K$7:$K$158,SMALL(IF(DDRT!$K$7:$K$158<>"",MATCH(ROW(DDRT!$K$7:$K$158),ROW(DDRT!$K$7:$K$158)),""),ROW(A1))),"")
=CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)),":",ADDRESS(List!$E$7,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)))
=IFERROR(INDEX(CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)),":",ADDRESS(List!$E$7,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0))),SMALL(IF(CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)),":",ADDRESS(List!$E$7,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)))<>"",MATCH(ROW(CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)),":",ADDRESS(List!$E$7,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)))),ROW(CONCATENATE("DDRT!",ADDRESS(List!$E$6,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0)),":",ADDRESS(List!$E$7,MATCH(Transmittal!$D$3,DDRT!$A$6:$L$6,0))))),""),ROW(A1))),"")
=IFEROR(索引(连接)(“DDRT!”,地址(列表!$E$6,匹配(传输)$D$3,DDRT!$A$6:$L$6,0)),“:”,地址(列表!$E$7,匹配(传输!$D$3,DDRT!$A$6:$L$6,0)),小(如果(连接)(“DDRT!”,地址(列表!$E$6,匹配(传输)$D$3,DDRT!$A$6:$L$6,0)),“:”,地址(列表!$E$7,匹配(传输)$6,匹配)$L$6,连接);$6,匹配行)($L$6,匹配)(“DDRT!”,地址(列表!$E$6,匹配(传输!$D$3,DDRT!$A$6:$L$6,0)),“:”,地址(列表!$E$7,匹配(传输!$D$3,DDRT!$A$6:$L$6,0)),行(连接(“DDRT!”,地址(列表!$E$6,匹配(传输!$D$3,DDRT!$6:$L$6,0)),“:”,地址(列表!$E$7,匹配(传输!$D$3,DDRT!)),“,$A$6,行:”,行:”,“,$A1:”,“,”

是的,当我直接替换所有的K7:K158值时,我输入了相同的错误。另一方面,您的连接公式返回了一个您想要使用的地址字符串,但您的工作/非工作公式试图将其用作不飞行的地址。我相信您需要使用间接公式to将字符串转换为excel可以使用的单元格地址。这可能会带来其他问题,具体取决于公式的使用次数。非常有效。谢谢Ed@ForwardEd真是聪明的方法。