我试图做一个总结,列出所有的比赛,并做一个转位表。我写了一个成功的公式。但是,我遇到了另一个问题,我发现我的公式不能被拖下来并应用于所有行。有人能帮我改进我的配方吗?
来源:

摘要:

我希望将“我的总结”中的行向下拖动,并且公式可以自动执行columns+1。感谢你的帮助。
这里是我的公式:=IFERROR(索引(Sheet1!$F$9:$F$16,SMALL(IF(Sheet1!$H$9:$H$16="X",ROW(Sheet1!$H$9:$H$16)-ROW(Sheet1!H$9)+1),列(A1)),“)
发布于 2020-10-24 22:10:43
在截图中,很难分辨数据位于哪一行。以下公式已输入Sheet2、单元格B2并复制。
=IFERROR(TRANSPOSE(FILTER(Sheet1!$F$9:$F$16,INDEX(Sheet1!$H$9:$K$16,1,ROW(A1)):INDEX(Sheet1!$H$9:$K$16,8,ROW(A1))="x")),"")
源屏幕截图Sheet1

结果截图表2

此方法使用Excel的动态数组功能,仅在Office 365的Excel许可证中可用。公式仅在第2列中,它会根据需要自动将其结果泄漏到相邻的列中。
评论后的编辑
如果您没有Office 365,您可以使用公式的一个变体,其中索引被和Index(): Index ()技术替换。第一个索引提取第一行,第二个索引提取最后一行,两个结果与range操作符:组合在一起,后者将两个结果组合成一个范围。
=IFERROR(INDEX(Sheet1!$F$9:$F$16,
SMALL(IF(INDEX(Sheet1!$H$9:$K$16,1,ROW(A1)):
INDEX(Sheet1!$H$9:$K$16,8,ROW(A1))="X",
ROW($A$9:$A$16)-ROW(A$9)+1),COLUMN(A1))),"")从第一个结果单元格(我的屏幕截图中的B2)开始,使用Ctrl+Shift+Enter确认,因为它是一个数组公式。然后翻来覆去。
注意:截图结果是不同的,因为我从头开始重新创建了示例,而且源数据是不同的。

https://stackoverflow.com/questions/64516137
复制相似问题