匿名使用者
匿名使用者 發問時間: 電腦與網際網路軟體 · 1 0 年前

excel欄位加總問題-高手請進

A1 2捲

A2 2捲

A3 0

A4 (空格)

A5 5捲

我想在不變動欄位, 不使用資料剖析的方法下, A6求得數值 9

假設目前A3為0,A4為空白儲存格

因此我想再加入判斷式,當儲位值為0或空白時不做資料處理,可是怎麼帶都錯誤,我的公式如下

{=SUM(IF(OR(A1:A5=0,A1:A5=""),0,--LEFT(A1:A5,(IF(LEN(A1:A5)>1,LEN(A1:A5)-1,0)))))}

5 個解答

評分
  • 1 0 年前
    最佳解答

    =SUM(IF((A1:A5=0)+(A1:A5=""),0,VALUE(LEFT(A1:A5,(IF(LEN(A1:A5)>1,LEN(A1:A5)-1,0))))))有兩個問題OR() 在陣列公式中,動作似乎不太正常,原因不明,所以改用上述相加的方式,若是 AND() 則改用相乘LEFT() 取出結果為字串,若要加總,則必須透過 VALUE() 轉換為數值另 to 深夜兄:Len 計算一個中文長度為 1,Lenb 才是 2,所以原公式是沒錯的

    2005-11-30 11:59:44 補充:

    他的問題只在 OR(),LEFT 則可以使用陣列,只是要用 VALUE() 轉成數字,才能用 SUM() 加總

    • Commenter avatar登入以對解答發表意見
  • Trump
    Lv 7
    1 0 年前

    OR() 函數在陣列中只會傳回一個結果,而非陣列。因此在陣列公式中,很少使用 OR 函數。

    • Commenter avatar登入以對解答發表意見
  • 1 0 年前

    {=SUM(IF(ISERROR(VALUE(MID(A1:A5,1,1))),"",VALUE(MID(A1:A5,1,1))))}

    2005-11-30 09:42:54 補充:

    "是半形的””

    len的部份自已再設一下吧..

    若要扣中文要用lenb-2

    2005-11-30 11:07:03 補充:

    謝謝[牧童叔]的指教囉..

    left可以做陣列嗎?

    我在if內,left陣列好像抓不到..

    呆會試試...

    • Commenter avatar登入以對解答發表意見
  • Philip
    Lv 6
    1 0 年前

    在A6打

    =SUM(A1:A5)

    這樣就會出現9不是嗎?

    • Commenter avatar登入以對解答發表意見
  • 您覺得這個回答如何?您可以登入為回答投票。
  • 1 0 年前

    建議1:

    如果儲存格都是 "?捲"的格式的話,可以利用"儲存格格式"→自訂→#,##0.0"捲"

    這樣所有輸入的數字後面都自動加上"捲"這個字。

    之後的加總就只要簡單的用SUM(A1:A5)就可以了

    建議2:

    再利用另一個欄把A欄內的值轉換成純數字→+if(len(A?)>1,left(a?,len(A?)-1),)→然後再加總

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。