返回列表 上一主題 發帖

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

回復 12# ANGELA


    謝謝ANGELA 提供另一個方法 ! 不過我試似乎會發生錯誤 #NAME? 這是陣列公式嗎?

TOP

本帖最後由 ANGELA 於 2011-8-8 16:34 編輯

=LOOKUP(2,1/(E2:L2>=0),COLUMN(E2:L2))-iferror(LOOKUP(2,1/(E2:L2<0),COLUMN(E2:L2)),4)

2003
=LOOKUP(2,1/(E2:L2>=0),COLUMN(E2:L2))-IF(ISERROR(LOOKUP(2,1/(E2:L2<0),COLUMN(E2:L2))),4,LOOKUP(2,1/(E2:L2<0),COLUMN(E2:L2)))

TOP

謝謝OOBIRD花時間幫我寫程式碼  也謝謝Hsieh寫的陣列公式  EXCEL真的是一門很深澳的學問

TOP

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

TOP

回復 6# eric866


    a.gif

TOP

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

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

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

TOP

回復 5# Hsieh


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

TOP

回復  eric866


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



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

TOP

回復 3# eric866

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

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

        靜思自在 : 我們要做好社會的環保,也要做好內心的環保。
返回列表 上一主題