我需要从sheet1获取匹配的行以匹配来自C列的x并显示sheet2上的所有数据。 Sheet1图像是
我正在使用这个公式
= INDEX(sheet1!$ D:$ J,MATCH(“x”,sheet1!$ C:$ C,0),MATCH(B $ 2, 工作表Sheet $ B $ 5:!$ $Ĵ5,0))
但它只获得第一行x而不是其他行,并且我想在sheet1列C包含x值时向sheet2添加行,因此sheet2会自动更新,并在sheet1中插入新行。
答案 0 :(得分:1)
此数组公式表示您需要同时单击 Ctrl + Shift + Enter ,根据您的设置应该适合您。但是您需要相应地调整范围和其他参数。将此公式输入cell B4
并拖动/复制以覆盖您需要的所有字段。
=IF(COUNTIF(Sheet1!$C$1:$C$14,"x")-COUNTA(B$3:B3)<=0,"",IFERROR(INDEX(Sheet1!$D$1:$J$14,SMALL(IF(Sheet1!$C$1:$C$14="x",ROW(Sheet1!$C$1:$C$14)+COUNTA(B$3:B3)),1),MATCH(Sheet1!D$5,Sheet1!$D$5:$J$5,0)),""))
SMALL
这里是找到您要输出的行。基本上这用于替换您的INDEX/MATCH
,因此它可以返回多个结果。
我没有包含整个列或行的一个原因是因为这是一个会降低性能的数组公式。只使用您需要的范围或命名范围,以使您的生活更轻松。