2016-04-03 88 views
0

儘管如此,希望有人能夠知道該怎麼做,但我無法弄清楚這一點。我爲我正在開發的一個項目準備了一個大型表單,如果可能的話,我想自動化一下,因爲有太多的單元需要管理。Google表格 - 來自多個單元格的值的總和取決於相應單元格中的文本

我需要至少三個東西,用於項目的幾個不同的小區域,我希望從側面的材料列表中挑選出來。

目前,它的工作原理是這樣的:

 B     C    D     E 
2 Project Name | Material #01 | Material #02 | Material #03 | 
3    |Quantity needed |Quantity needed |Quantity needed | 

這種格局一直延續,直到第50行,我有他提出了在多個列的空間效率。 [上面的例子是也H2:K3]

關到右側我有一個地方與該被引用的材料跟上,像這樣:

 M    N   O   P 
2 Material #01 | Material Name | # I have | # I need 
3 Material #03 | Material Name | # I have | # I need 

這也是在雙段,S2:W3上有偶數。

我想完成的是,如果說C2,E2和D12都包含「Material#01」,它將抓取下面單元格中的數字,即C3,E3和D13,然後將它們相加並將最終數字放在P2中作爲我需要的數量。但是,我需要這樣做,我不必手動更改,所以我希望它能檢測是否要將C2更改爲「Material#03」,然後將總和置於P3中。

可以這樣做嗎?我可以根據要求添加更多信息或澄清任何事情。我自己並沒有取得很大的進展。如果這個問題得到解答,請原諒我,我一直在想盡一切辦法去尋找這個問題,但我可能錯過了一些明顯的例如clownshoe。

+0

請問您可以添加樣本表 - 您可以在其中填入虛擬數據,但要準確回答需要查看我們實際使用的條件樣本 –

+0

@AuriellePerlmann https://docs.google.com/spreadsheets/ d/1fRAA9uDdu_xOLDsCoAHKhuOe7hDQXpIlYHxjYBndM6U/edit?usp = sharing這是一份副本。自從我發佈這些行後,行發生了一些變化,但它完全相同。如果可能的話,我想讓列P和V自動添加,因爲我將它們放在正確的區域! – smallcrate

回答

0

很好的解決

我想,你是正確地組織你的數據最好的方式。這意味着,在簡單的表粘貼數據:

Project Name Product Number Quantity needed 
Project1  #01       1 
Project1  #02       2 
Project1  #03       1 
Project2  #11       5 
Project2  #07       6 
Project2  #14       6 

粘貼範圍內的這個值:C,然後只用多個谷歌表數據處理公式之一,像查詢:

=QUERY({A:C},"select Col2, sum(Col3) where Col2 <> '' group by Col2") 

我已經加入Sample file


解決方案,它是

您的情況非常具體,最終公式很容易出錯並且很難閱讀。

粘貼在該式中細胞P2:

=ARRAYFORMULA(IFERROR(VLOOKUP(L2:L49,QUERY({query(TRANSPOSE(SPLIT(ArrayFormula(CONCATENATE(FILTER(C2:J,iseven(row(C2:J)))&"-")),"-")),"where Col1 like '#%' limit "&counta(TRANSPOSE(SPLIT(ArrayFormula(CONCATENATE(FILTER(C2:J,ISODD(row(C2:J)))&"-")),"-")))),TRANSPOSE(SPLIT(ArrayFormula(CONCATENATE(FILTER(C2:J,ISODD(row(C2:J)))&"-")),"-"))},"select Col1, sum(Col2) group by Col1"),2,0))) 

和在該式中細胞V2:

=ARRAYFORMULA(IFERROR(VLOOKUP(R2:R49,QUERY({query(TRANSPOSE(SPLIT(ArrayFormula(CONCATENATE(FILTER(C2:J,iseven(row(C2:J)))&"-")),"-")),"where Col1 like '#%' limit "&counta(TRANSPOSE(SPLIT(ArrayFormula(CONCATENATE(FILTER(C2:J,ISODD(row(C2:J)))&"-")),"-")))),TRANSPOSE(SPLIT(ArrayFormula(CONCATENATE(FILTER(C2:J,ISODD(row(C2:J)))&"-")),"-"))},"select Col1, sum(Col2) group by Col1"),2,0))) 

它們會自動展開。

它是如何工作的:請look at example here。隨意問任何有關公式的問題。

兩個公式都在尋找範圍L2:L49R2:R49。如果需要,將它們更改爲您的。

+0

問題在於它垂直佔用大量空間,我真的不喜歡這樣做。您還忽略了我在示例中顯示的重複出現的所有內容,這些內容在實際展示它的過程中沒有多大幫助。我想過做這樣的事情,但它所佔用的空間又是唯一的問題,因爲我有很多事情要保持直線,所以我需要儘可能快地看到我能做到的事情。如果這是我唯一的選擇,那麼我可能會再多一些,或者繼續手動進行。 – smallcrate

+0

我已經更新了答案;) –

相關問題