2018年8月24日 星期五

Google Sheets: Array Lesson 5: 串接二維陣列的單個維度 (Concatenate 1D of 2D array by QUERY())

Google 試算表 (Sheets) 函式 CONCATENATE() 會串接二維陣列的所有維度,如果只想沿著欄或列串接,可使用函式 QUERY()。


1. 串接


把多個儲存格的內容,組合在一起,放在單個儲存格中,這種運算就稱為串接。


2. 全部串接:CONCATENATE()


最常用的串接方式,是使用函式 CONCATENATE()。它能夠把指定範圍中,所有儲存格的內容,全部串接在一起。順序是,先串接同一列 (由左而右) 所有儲存格內容,再 (由上而下) 串接所有列。

但是,對於二維陣列,如果只想沿著單欄、或者單列,進行串接。需要借用另一個函式 QUERY()。


3. 串接同欄中的所有列:QUERY()


函式 QUERY() 原本的用途,是查詢範圍中的資料。它會把指定範圍的內容視為資料表,並且把前面幾列視為標題列。這裡完全不使用查詢的功能,只借用它對於標題列的處理。

由於不論輸入的標題有幾列,輸出的標題最多都只會有一列,這就等同於把毎一欄的所有標題列串接在一起。不過在串接時,它會在原本不同列的內容之間,夾接空格字元。


4. 串接同列中的所有欄:QUERY( TRANSPOSE() )


如果想要沿著列進行串接,可以先用 TRANSPOSE() 把二維陣列的欄與列對調,再使用 QUERY() 串接,然後再用 TRANSPOSE() 把欄列轉置回來。





相關文章

1. Google Sheets: Array Lesson 4: 陣列-擴展 (Array-Expansion)