假设我在 C 列中有 1000 行,任何整数 1-100。每次在 C 列中找到 5 时,我希望 A 列中的值显示在 D 列中。
因此,如果在 1000 行之后我找到了数字 5,十次。我希望单元格 D1:D10 在 C 列为 5 时显示 A 列的值。
抱歉这么笨。
假设我在 C 列中有 1000 行,任何整数 1-100。每次在 C 列中找到 5 时,我希望 A 列中的值显示在 D 列中。
因此,如果在 1000 行之后我找到了数字 5,十次。我希望单元格 D1:D10 在 C 列为 5 时显示 A 列的值。
抱歉这么笨。
一种可能性是下面的数组函数。在 D1 中输入它,因为它是一个数组函数,所以按 ctrl+shift+enter 而不是只输入。
=INDIRECT("A"&SMALL(IF(C:C=5,ROW(C:C),""),ROWS(1:$1)))
如果您输入正确,它将如下所示:
={INDIRECT("A"&SMALL(IF(C:C=5,ROW(C:C),""),ROWS(1:$1)))}
希望有帮助!
如果您愿意隐藏辅助列,我有一个解决方案(没有它也可以,但公式会很讨厌)。
辅助列 (D):
D1 = MATCH(N, RANGE, 0)
D2 = D1 + MATCH(N, OFFSET(RANGE, C1, 0), 0) // NOTE: range must be use absolute references for the top $C$1:C#
填写 D2 公式。此列会有错误,但我们不在乎,因为它会被隐藏
结果栏(E):
E1 = IFERROR(INDEX(A_RANGE, D1), "") // NOTE: like above, use absolute reference for top $A$1:A#
把它填满,这应该可以解决问题。