以下是我正在使用的公式:
=IFERROR(IF(ISBLANK($A$1),IF(ROWS(A$2:A2)>$F$3, "", INDEX(INDIRECT("'"&C$1&"'!$D$4:$D$1000"),SMALL(IF(INDIRECT("'"&C$1&"'!$J$4:$J$1000")=$D$3, ROW(INDIRECT("'"&C$1&"'!$D$4:$D$1000"))-ROW(INDIRECT("'"&C$1&"'!$D$4"))+1),ROWS(A$2:A2)))),IF(ROWS(A$2:A2)>$F$3, "", IF(ISNA(MATCH(1,($A$1=(INDIRECT("'"&C$1&"'!$X$4:$X$1000")))*($D$3=(INDIRECT("'"&C$1&"'!$J$4:$J$1000"))),0)),"",INDEX(INDIRECT("'"&C$1&"'!$D$4:$D$1000"),SMALL(IF((INDIRECT("'"&C$1&"'!$J$4:$J$1000")=$D$3)*($A$1=(INDIRECT("'"&C$1&"'!$X$4:$X$1000"))), ROW(INDIRECT("'"&C$1&"'!$D$4:$D$1000"))-ROW(INDIRECT("'"&C$1&"'!$D$4"))+1),ROWS(A$2:A2)))))),"")
提前致谢
其他信息: 我提到的答案,但它不是问题的解决方案,这是宏记录
Sub ExtractValues()
'
' ExtractValues Macro
'
'
Range("B5").Select
Selection.FormulaArray = _
"=IFERROR(IF(ISBLANK(R1C1),IF(ROWS(R2C[-1]:R[-3]C[-1])>R3C6, """", INDEX(INDIRECT(""'""&R1C[1]&""'!$D$4:$D$1000""),SMALL(IF(INDIRECT(""'""&R1C[1]&""'!$J$4:$J$1000"")=R3C4, ROW(INDIRECT(""'""&R1C[1]&""'!$D$4:$D$1000""))-ROW(INDIRECT(""'""&R1C[1]&""'!$D$4""))+1),ROWS(R2C[-1]:R[-3]C[-1])))),IF(ROWS(R2C[-1]:R[-3]C[-1])>R3C6, """", IF(ISNA(MATCH(1,(R1C1=(INDIRECT(""'""&R1" & _
"C[1]&""'!$X$4:$X$1000"")))*(R3C4=(INDIRECT(""'""&R1C[1]&""'!$J$4:$J$1000""))),0)),"""",INDEX(INDIRECT(""'""&R1C[1]&""'!$D$4:$D$1000""),SMALL(IF((INDIRECT(""'""&R1C[1]&""'!$J$4:$J$1000"")=R3C4)*(R1C1=(INDIRECT(""'""&R1C[1]&""'!$X$4:$X$1000""))), ROW(INDIRECT(""'""&R1C[1]&""'!$D$4:$D$1000""))-ROW(INDIRECT(""'""&R1C[1]&""'!$D$4""))+1),ROWS(R2C[-1]:R[-3]C[-1])))))),""""" & _
")" & _
""
Range("B5").Select
End Sub
提前致谢