REDUCE+VSTACK組合拳,一個公式返回所有結果常見場景:VLOOKUP查找下圖演示了一個常見場景,從原數(shù)據(jù)中查找制定產(chǎn)品的數(shù)據(jù)。用的也是常規(guī)方法VLOOKUP查找: ![]() 數(shù)組公式返回一維數(shù)組想要更方便的話可以考慮用數(shù)組公式,把查找值設置為數(shù)組: 公式以數(shù)組形式一次性返回所有產(chǎn)品1月份的數(shù)據(jù):
也可以把第三參數(shù)列索引設置為數(shù)組: 公式以數(shù)組形式一次性返回一個產(chǎn)品兩個月的數(shù)據(jù): ![]() 上述兩個公式分別返回縱向和橫向的一維數(shù)組,把它們整合起來是不是應該返回一個二維數(shù)組呢?于是把第二、三參數(shù)同時設置為數(shù)組: 公式并沒有返回期望中的二維數(shù)組,而是縱向數(shù)組。 ![]() REDUCE+VSTACK返回二維數(shù)組Excel365版本中可以用REDUCE來實現(xiàn)如圖所示效果: ![]() 公式解讀:REDUCE函數(shù)的作用是將初始值和數(shù)組中的每個元素依次應用指定的LAMBDA函數(shù)。
初始值會被傳遞給LAMBDA中的x,而數(shù)組E2:E5中的4個元素會被依次傳遞給y。 VLOOKUP(y,A:C,{2,3},0)中可以看出y是被作為VLOOKUP的查找值,意味著4個元素都會被作為查找值運行一次。 VLOOKUP每一次運算后的結果與x用VSTACK垂直堆疊,REDUCE最終返回最后一次堆疊后的數(shù)組。 DROP函數(shù)用于刪除數(shù)組中的第一行,因為第一行是初始值x,也就是空值,是不需要的數(shù)據(jù)。 總的來說,這個公式的作用是:對于E2:E5中的每個值,在A:C范圍中進行精確查找,并返回第2列和第3列的對應值,然后將這些結果垂直堆疊在一起,最后刪除堆疊結果的第一個元素(初始值"")。 REDUCE+VSTACK更多案例REDUCE+VSTACK組合拳應用十分廣泛,要把多個值依次應用于某一個公式,都可以考慮用它來一次性完成。 把{"桃子";"山竹"}依次應用于FILTER作為篩選條件,篩選結果用VSTACK垂直堆疊: ![]() A2:A4中的文本重復指定次數(shù),垂直堆疊: ![]() 好了,今天的Excel小課堂就到此結束,大家趕緊實際操作聯(lián)系一下吧,有不懂的問題可以留信問我!感謝關注Excel880,還請多多轉發(fā),持續(xù)關注我們呀! |
|
|
來自: 昵稱72339616 > 《待分類》