2012-07-24 45 views
2

我想使用SUMPROCUT函數,條件是表格的行數未知。

所以公式是由= SUMPRODUCT( - F:F, - G:G),按Enter鍵後#VALUE!出現了

我意識到列名是字符串類型,但它們包含在計算中,這可能是問題。
如何避免SUMPRODUCT函數中的字符串文本?或者你有更聰明的方式,請幫助。 感謝先進!如何篩選字符串文本單元格?

[增訂 - screentshot &原單要求】
客戶要求我一個公式來計算總和(柱F * G列),例如10 * 470 + 5 * 350 + 5 * 5.5 + 25 * 180 + 4 * 48 + 6 * 15 + 80 * 4.5 + 70 * 5.44,我不知道在他們的表有多少行造成的,他們希望有一個通式來處理所有excel文件

enter image description here

+0

你能告訴我們你的數據是什麼樣子(與截圖或例如),以便我們可以幫助您解決* root *問題並避免出現[XY問題](http://www.perlmonks.org/?node_id=542341) – JMax 2012-07-24 09:38:53

+0

您真的需要雙重底片「 - 」嗎?沒有這些「SUMPRODUCT」將忽略包含文本的行。 – 2012-07-24 09:58:50

+0

@JMax你對,也許XY問題我已經更新了問題。 – rock 2012-07-24 10:32:42

回答

1

這裏是一個請嘗試:

=SUMPRODUCT($F2:INDEX($F:$F,MATCH(9.9999E+307,$F:$F)), $G2:INDEX($G:$G,MATCH(9.9999E+307,$G:$G))) 

只要您的值在同一行結束。

一些解釋:

  • index()可以返回引用,以及一個值(我們使用了在這裏參考)
  • 的9.9999E + 307是 - 基本上,如果你在一個數字範圍內尋找一個大於任何數字的數字(& 9.9999E + 307大約是excel可以應付的最大數字,所以在大多數情況下起作用),match()將返回列表中最後一個數字的位置,這就是我們想要的

靈感發現here但我發現這招很聰明,聰明:)

+0

布拉沃,這是令人難以置信的...這工作真的很好,謝謝@JMax,我必須挖掘它來學習這兩個公式。 – rock 2012-07-24 11:15:37

0

只需使用=SUMPRODUCT(F:F,G:G)(即沒有0​​)

+0

這與我的評論重複......我將這個回答解釋爲意味着在將數字輸入爲文本時可能需要'--',但通常情況下,您可以使用工具提示選項轉換任何非數字數字。 – 2012-07-24 11:08:47

+0

@lori_m我不得不說你是絕對正確的,抱歉延遲升值 – rock 2012-07-25 05:48:56

相關問題