2013-07-26 70 views

回答

40

比方說,你的數組是:

A1:A3 = {1;2;3}和B1:B3 = {4;5;6}

寫的話:={A1:A3;B1:B3}

分號;用來分隔行和逗號,是列。

下面是文檔:Using arrays in Google Sheets

+1

哇。驚訝你可以做到這一點。難以置信的答案! – jason

6
TRANSPOSE() //takes matrix as argument and returns transposed matrix 
SPLIT() //breaks apart a string based on a delimiter character (char(13) here) 
ARRAYFORMULA() //applies the formula within to array vs cell 
CONCATENATE() //joins each cell in each range with a char(13), then the next cell...then the next matrix of cells (to which the first process also happens) 
//note char(13) is a carriage return, i will call CR for ease 

所以如果你有矩陣A:1,2,3 和矩陣B:4,5,6個

的步驟是這樣的:

TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE("1CR2CR3CR" ; "4CR5CR6CR")), CR)) 
TRANSPOSE(SPLIT("1CR2CR3CR4CR5CR6CR"), CR)) 
TRANSPOSE({"1","2","3","4","5","6"}) 

最後:

1 
2 
3 
4 
5 
6 
+0

我看到了,但無法理解如何將其轉換爲我的情況。你能幫我翻譯一下嗎? – jason

+0

希望這對我有幫助 –

-1

給出信息pr受蒙肖先生的鼓勵,我想出了你的想法。

給定的值 「1,2,3」 是在單元格A1:一個電子表格的A3,和值 「4,5,6,7」 是在細胞B1:B4。下面是式使用:

= TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE(CONCAT(A1:A3, 「」); CONCAT(B1:B4, 「」))), 「」))

解釋。 的CONCAT式創建值的字符串與所指示的分離器,「」。因此concat(A1:A3,「,」)導致「1,2,3」。

的串聯結合指定的數組作爲一個字符串的值。所以CONCATENATE(concat(A1:A3,「,」); concat(B1:B4,「,」))結果爲「1,2,3,4,5,6,7」

Split函數在這裏被用於識別「」作爲deliminator,而不是陣列中的值。轉置將導致結果顯示在一列而不是一行中。

1

我注意到這是一個老問題,所以當先前的反應是這樣寫可能不會存在。

您正在尋找的JOIN()公式。

Documentation link

示例用法

JOIN(" and-a ",{1,2,"1 2 3 4"}) 

JOIN(",",{1,2,3},{4;5;6}) 

JOIN("-",A1:A100) 

語法

JOIN(delimiter, value_or_array1, [value_or_array2, ...]) 

定界符 - 的字符或字符串的每個連接的值之間進行。

定界符可以被指定爲空白,例如, JOIN(,{1,2,3})。 value_or_array1 - 要使用分隔符附加的值。

value_or_array2,... - [可選] - 使用分隔符附加的附加值或數組。

0
=filter({A1:A;B1:B}, {A1:A;B1:B}<>"") 
+2

歡迎來到StackOverflow!對於搜索解決方案的其他用戶而言,僅有代碼的答案並不是很有用。你可以給你的代碼添加一個解釋嗎? –

+0

儘管此鏈接可能會回答問題,但最好在此處包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/18539671) –

相關問題