我想在Google腳本編輯器中爲電子表格製作一個小腳本,用於根據其他單元格求和單元格。就像:制定一個腳本來有條件地總結單元格
IF (A2:P2)==Q2{
SUM (A3:P3)}
我想總結包含某個字符的單元格。這裏是我的問題的example。我該怎麼做?
我想在Google腳本編輯器中爲電子表格製作一個小腳本,用於根據其他單元格求和單元格。就像:制定一個腳本來有條件地總結單元格
IF (A2:P2)==Q2{
SUM (A3:P3)}
我想總結包含某個字符的單元格。這裏是我的問題的example。我該怎麼做?
你不需要需要這個腳本。您只是描述了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)
爲了讓所有具有 '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)))
馬特建議將同樣的工作過程中,SUMIF()(以及絕對是一個簡單得多)。要拖下公式,請使用美元符號來凍結標題行,例如:sumif($ B $ 3:$ P $ 3,「A」,B4:P4))。
對於這個例子,sumif工作,但我沒有正確發佈問題,請再次檢查。 – Luis
@Luis我已經更新了答案。請注意,你改變了這個問題足以使答案失效。當發生這種情況時,如果你想要的話,你也可以問另一個引用這個問題的問題。 – Matt