Board logo

標題: 請問關於TRUE個數判斷的問題? [打印本頁]

作者: tku0216    時間: 2012-7-6 16:43     標題: 請問關於TRUE個數判斷的問題?

各位大大好,先前有請教各位先進關於利用VBA判斷的問題:我附件的excel檔是一個會自動會在C欄判斷B欄的前三個字是否為“請參照”或“如附圖”程式,並會在C欄的最後加總TRUE的個數,但我發現在C欄的最後似乎沒有辦法加總TRUE的個數,不知為何?我當初以為是公式的關係,故將C欄的TRUE或FALSE值,以複製貼上值的方式貼了一次,發現還是沒用,請教各位大大為何有這樣的問題?謝謝。

使用方法:開發人員→巨集→執行sheets.auto_count
連結----------------------------
http://db.tt/Xyy7lr2R
-----------------------------------
作者: GBKEE    時間: 2012-7-6 18:05

回復 1# tku0216
可改用SUMPRODUCT
  1. Sub auto_count()
  2.     a = [a1].End(xlDown).Row
  3.     For i = 2 To a
  4.         Cells(i, "c").FormulaR1C1 = "=if(OR(left(rc[-1],3)=""如附圖"",left(rc[-1],3)=""請參照""),""TRUE"",""FALSE"")"
  5.     Next
  6.     'Cells(a + 1, "c").FormulaR1C1 = "=countif(r[" & 1 - a & "]c:r[-1]c,TRUE)"
  7.     Cells(a + 1, "c").FormulaR1C1 = "=SUMPRODUCT((r[" & 1 - a & "]c:r[-1]c=""TRUE"")*1)"
  8.     Cells(a + 1, "d").FormulaR1C1 = "=countif(r[" & 1 - a & "]c:r[-1]c,""選項A"")"
  9.     Cells(a + 1, "e").FormulaR1C1 = "=countif(r[" & 1 - a & "]c:r[-1]c,""選項B"")"
  10.     Cells(a + 1, "f").FormulaR1C1 = "=countif(r[" & 1 - a & "]c:r[-1]c,""選項C"")"
  11.     Cells(a + 1, "g").FormulaR1C1 = "=countif(r[" & 1 - a & "]c:r[-1]c,""選項D"")"
  12.       For i = 2 To a
  13.         Cells(i, "i").FormulaR1C1 = "=if(isblank(rc[1]),"""",if(len(rc[1])>1,2,1))"
  14.       Next
  15. End Sub
複製代碼

作者: tku0216    時間: 2012-7-9 18:27

請問G大,不太了解您修改那一行(第7行)後半段的意思,可否解釋一下?謝謝。
作者: GBKEE    時間: 2012-7-10 14:18

回復 3# tku0216
工作表函數  SUMPRODUCT 傳回各陣列中所有對應元素乘積的總和。
=SUMPRODUCT((C2:C11=TRUE)*1)
陣列: C2:C11=TRUE  有TRUE  *1 -> 所有對應元素乘積的總和




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)