返回列表 上一主題 發帖

[發問] 請問如何計算連續出現次數?

[發問] 請問如何計算連續出現次數?

A1             B1             C1            D1            E1            F1            G1            H1           I1             J1              K1          L1

-1           -685      -855       -2970     -2224      -1800      1258     -1710     -426          +?            +?             -?

如上~最右欄是最新資料   等於有連2欄是負值  統計結果是-2 ; 如果以後再加入連2欄正值  會自動統計變成2  ; 如果再加入1欄負值  又會自動統計變為-1
請問公式如何寫?  謝謝!

回復 1# eric866


    看不太懂您的意思!不知有沒有範例可看!

TOP

回復 2# 棋語鳥鳴


  您好~ 已上傳了  我是要算連續幾日  不知D行的函數要如何寫? 新增Microsoft Excel 工作表.rar (48.68 KB)

TOP

本帖最後由 oobird 於 2011-8-4 23:23 編輯

回復 3# eric866


    這個滿傷腦筋的,用自訂函數吧。
  1. Function Calculat(rng As Range) As Double

  2. a = rng.Cells.Count

  3. If rng(a) > 0 Then

  4. Calculat = 1

  5. Do

  6. a = a - 1

  7. If rng(a) > 0 Then Calculat = Calculat + 1

  8. Loop Until rng(a) < 0 Or a = 1

  9. Else

  10. Calculat = -1

  11. Do

  12. a = a - 1

  13. If rng(a) < 0 Then Calculat = Calculat - 1

  14. Loop Until rng(a) > 0 or a=1

  15. End If

  16. End Function
複製代碼

TOP

回復 3# eric866

D2陣列公式
=(12-MAX(IF(SIGN($E2:$L2)<>SIGN($L2),COLUMN($E2:$L2))))*SIGN($L2)
向下複製
學海無涯_不恥下問

TOP

回復  eric866


    這個滿傷腦筋的,用自訂函數吧。
oobird 發表於 2011-8-4 23:14



謝謝oobird的解答  我看你已經用好了  可是我不太會用
請問這個VBA是貼在VB編輯器裡的外資 來源 還是THISWORKBOOK呢?  我3個都貼  然後D2填上=CALCULAT(E2:L2)  會顯示出#NAME?ㄋㄟ

TOP

回復 5# Hsieh


    您好~ 謝謝Hsieh 大的解答!  我把你的陣列公式貼到D2  結果會顯示#VALUEㄋㄟ  不知道是那裡出了問題?  我EXCEL剛學沒多久而已

TOP

本帖最後由 Hsieh 於 2011-8-4 23:51 編輯

回復 7# eric866
OOBIRD版大的程式碼要放在一般模組內才能使用

公式必須使用CTRL+SHIFT+ENTER輸入
新手請先將置頂精華文章閱讀
新手必讀
學海無涯_不恥下問

TOP

回復 6# eric866


    a.gif

TOP

耶 兩種方法都可以耶   真的很感謝Hsieh及oobird 的抽空教導  謝謝 !

TOP

        靜思自在 : 對父母要知恩,感恩、報恩。
返回列表 上一主題