列 C に整数 1 ~ 100 の行が 1000 行あるとします。列Cに5が見つかるたびに、列Aの値を列Dに表示したい.
したがって、1000 行の後に 5 という数字を 10 回見つけた場合。列 C が 5 の場合、セル D1:D10 に列 A の値を表示したいと思います。
ばかげて申し訳ありません。
列 C に整数 1 ~ 100 の行が 1000 行あるとします。列Cに5が見つかるたびに、列Aの値を列Dに表示したい.
したがって、1000 行の後に 5 という数字を 10 回見つけた場合。列 C が 5 の場合、セル D1:D10 に列 A の値を表示したいと思います。
ばかげて申し訳ありません。
1 つの可能性は、以下の配列関数です。それを D1 に入力します。これは配列関数であるため、Enter ではなく 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#
それを埋めてください、それはトリックをするはずです。