2017-06-16 45 views
1

我需要製作包含每個訂單代碼的每個訂單代碼,地址,數量和日期在一行中的工作表。 我有訂單(地址ID,產品代碼,數量和訂單ID)的表「數據」,我需要按照特定的順序將其放在其他表「導出」。有沒有辦法用函數或腳本來做到這一點?將訂單數據過濾到行

我做測試的電子表格,讓所有人看到的是什麼,我需要預覽:test sheet

,比如我有地址ID A001,我需要得到來自該地址標識每個代碼和數量,把行,在測試電子表格我做了一個例子。

很抱歉,如果我要求太多,但我需要一些幫助或建議:)

製成圖片,以便它會更容易理解: picture

回答

0

你需要的操作稱爲「逆透視」並有一些可能的解決方案,其中一些是純功能性的,一些則利用Google Apps腳本。搜索「不透明」來探索它們。這是可能的功能解決方案之一。與您的確切需求相比,它得到了簡化,因爲我不確定您的標題(「維度」)中哪些是唯一的。我在這裏假設只有產品代碼和地址標識是唯一的,因爲它在數據中看起來像這樣。

創建一個新的工作表,並把下面的公式在A1:

=arrayformula(
    split(
    transpose(
     split(
     concatenate(
      arrayformula(Data!$A$5:$A & "|" &Data!$C$3:$G$3 & "\" 
     ) 
     ); 
     "\") 
    ); 
    "|") 
) 

再放入C1另一個公式:

=arrayformula(
    vlookup(A1:A; Data!$A$5:$G; match(B1:B; Data!$C$3:$G$3; 0)+2; 0) 
) 

這會給你如何先構建基本的想法列出所有可能的尺寸值組合(在這種情況下爲代碼,地址ID),然後使用VLOOKUP填充可能的相關值。然後您可以根據需要使用更多的VLOOKUPS添加更多列。

+0

感謝您的信息! 但atm我有這個公式的錯誤,因爲我有太多的數據(CONCATENATE的文本結果超過了50000個字符的限制) 我該怎麼做才能避免它? – Anada

+0

你可以做的一件事就是「分而治之」,即製作幾個公式,對數據的不同部分進行操作並加入結果。但我懷疑在這種情況下,研究腳本解決方案可能是值得的。 – ttarchala

+0

我明白了。任何線索如何用腳本語言來做到這一點?不想在許多電子表格中拆分數據:/ – Anada