↑ 關(guān)于函數(shù)數(shù)組,這篇教程足夠經(jīng)典 我舉個例子。 有兩個一維數(shù)組: {1;2;12}{"a";"b";"ab"} 需要將它們合并成一個一維數(shù)組: {1;2;12;"a";"b";"ab"} 如果需要將兩個一維數(shù)組合并成二維數(shù)組,可以用IF函數(shù): =IF({1,0},{1;2;12},{"a";"b";"ab"}) 而合并成一維數(shù)組呢? 也可以用IF函數(shù)。 公式看不全可以左右拖動...▼ =IF(ROW(1:6)<4,{1;2;12},LOOKUP(ROW(1:6),ROW(4:6),{"a";"b";"ab"})) 公式判斷ROW(1:6)是否小于4,如果條件成立則返回第1個一維數(shù)組{1;2;12},否則運(yùn)行LOOKUP函數(shù)。 LOOKUP的查找值是ROW(1:6),查找區(qū)域是ROW(4:6),ROW(1:3)查無結(jié)果返回錯誤值,ROW(4:6)返回第2個一維數(shù)組{"a";"b";"ab"} 因此以上公式等同于: =IF(ROW(1:6)<4,{1;2;12},{#N/A;#N/A;#N/A;"a";"b";"ab"}) 于是最終返回一維數(shù)組: {1;2;12;"a";"b";"ab"} …… 這是2個一維數(shù)組合并,如果是3個、4個……更多個呢? 比如,將下圖所示A1:C3區(qū)域3個縱向一維數(shù)組合并為E1:E9所示的一個縱向一維數(shù)組。 這時候繼續(xù)使用IF+LOOKUP的函數(shù)組合就不是很方便了。 更推薦使用FILTERXML+TEXTJOIN的組合套路。
首先使用TRANSPOSE函數(shù)將A1:C3轉(zhuǎn)置,然后使用TEXTJOIN函數(shù)以</b><b>為分隔符合并,最后用FILTERXML按"a/b"為節(jié)點(diǎn)拆分——這個解釋如果看不懂的話,看我手指的方向??回看一下FILTERXML函數(shù)教程吧,微微笑 (* ̄︶ ̄) ↑ FILTERXML函數(shù) |
|