2015-11-19 52 views
0

我想在Google腳本編輯器中爲電子表格製作一個小腳本,用於根據其他單元格求和單元格。就像:制定一個腳本來有條件地總結單元格

IF (A2:P2)==Q2{ 
    SUM (A3:P3)} 

我想總結包含某個字符的單元格。這裏是我的問題的example。我該怎麼做?

回答

2

你不需要需要這個腳本。您只是描述了SUMIF其中

返回整個範圍內的條件總和。

使用您的表的副本我有你想要的結果與這個公式

=sumif(B3:P3,"A",B4:P4) 

那麼你可以使用絕對單元格引用,以使其更容易複製下來。

=sumif($B$3:$P$3,"A",B4:P4) 

問題已經改變

既然你已經改變了源表你問一個相關但不同的問題。儘管如此,你也不需要腳本。您可以使用COUNTIFS()。你有兩個計數標準。計算單元格是否包含字母,如果標題行包含數字,則計數。我們將其分解爲兩個條件集。

=COUNTIFs(B3:P3,Q2,B2:P2,1) 

Q2是包含「A」的單元格,1是我們計算的標題列。

爲了通過簡單的拖放操作將此行向下移動,您仍然需要在未移動的單元格中使用絕對引用。 Q2和標題行。

=COUNTIFs(B3:P3,$Q$2,$B$2:$P$2,1) 
+0

對於這個例子,sumif工作,但我沒有正確發佈問題,請再次檢查。 – Luis

+0

@Luis我已經更新了答案。請注意,你改變了這個問題足以使答案失效。當發生這種情況時,如果你想要的話,你也可以問另一個引用這個問題的問題。 – Matt

2

爲了讓所有具有 'A' 在標題欄的總和(每行排),嘗試在Q4:

=ArrayFormula(MMULT(N(IF(B3:P3="A", B4:P11,)) , transpose(N(B3:P3="A")))) 

更改 'A' 到 'B' 等。對於

「所有B的總和」如果你想在新的行添加使用這樣的公式結果自動展開:

=ArrayFormula(IF(LEN(A4:A), MMULT(N(IF(B3:P3="A", B4:P,)) , transpose(N(B3:P3="A"))),)) 

編輯:基於新的信息,我的公式更新爲:

=ArrayFormula(MMULT((B2:P2=row(B3:B10)-2)*(B3:P10="A"), TRANSPOSE(COLUMN(B2:P2)^0))) 

Example sheet

馬特建議將同樣的工作過程中,SUMIF()(以及絕對是一個簡單得多)。要拖下公式,請使用美元符號來凍結標題行,例如:sumif($ B $ 3:$ P $ 3,「A」,B4:P4))。

+0

對於該示例,該公式有效,但我沒有正確發佈問題,請再次檢查。 – Luis

+0

@路易斯我也更新了我的答案。發帖時請儘量準確,因爲這與原始問題不同。 – JPV

相關問題