
我有一列數據,旁邊有一個標記。思考:
ID#1 -- A
ID#2 -- B
ID#3 -- A
我試圖僅移動帶有標記 A 的 ID 號碼 - 所以我的最終結果是
ID#1
ID#3
使用 VBA 可以輕鬆做到這一點 - 過濾範圍、複製、貼上。我正在嘗試尋找一個非 VBA 解決方案來解決這個問題。我一直在嘗試各種數組公式 - Index(range,sumproduct(row*criteria)),但我無法完全讓它工作。我該如何讓它發揮作用?
計算優雅性是一個重要因素——我正在處理的工作表應該是一個資料庫,因為它的大小,但權力已經否定了這個想法。
答案1
使用:
=IFERROR(INDEX($A$1:$A$8,SMALL(IF($B$1:$B$8="A",ROW($B$1:$B$8),999999),ROW(A1))),"")
Small 將傳回每行帶有「A」的 ID(從小到大)
A1:A8 將其變更為對應於您的 ID 列
B1:B8 將其變更為對應於您的 A 列
保留 $ 以獲得固定引用,
按Ctrl+ Shift+Enter而不是Enter它是一個數組公式