請問這12萬筆資料裡面 我要如何統計 "TRUE"連續出現的次數
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
本帖最後由 ML089 於 2017-4-28 16:32 編輯
用名稱定義公式
xT =FREQUENCY(ROW($1:$120000),ROW($1:$120000)*($A$1:$A$120000=FALSE))
最多出現連續幾個
=MAX(xT)-1
連續出現
D3:D32 =FREQUENCY(xT,MOD(ROW(2:30),29))
範圍陣列公式
PS: 複製上述公式,選D3:D32後將公式貼上編輯列,先按CTRL+SHIFT不放,再按ENTER輸入公式,若成功公式前後會有 {.....}
"幾個" C3下拉30個 |
|
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 7# eric7765
範圍陣列公式
PS: 複製上述公式,選D3:D32後將公式貼上編輯列,先按CTRL+SHIFT不放,再按ENTER輸入公式,若成功公式前後會有 {.....}
一般公式用 ENTER輸入
陣列公式用 CTRL+SHIFT+ENTER 三鍵齊按輸入 |
|
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 9# eric7765
統計true的連續出現次數_TEST.rar (7.44 KB)
小資料練習,看看公式中FREQUENCY函數每個參數變化,先自行體會,不懂再問。
第一個(內)FREQUENCY統計的數要減1才是連續數
因為陣列有120000個不想先減1,這會增加計算時間,所以用取2代替1,取3代替2,來統計連續數數量
FREQUENCY 第二的陣列數值第一個應該為2開始(2,3,4,5,......,0,1),最後應該用1收尾,所以使用MOD函數來處理 |
|
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
本帖最後由 ML089 於 2017-4-28 23:33 編輯
統計每個連續數+1
xT =FREQUENCY(ROW($1:$120000),ROW($1:$120000)*($A$1:$A$120000=FALSE))
統計相同的連續數數量
=FREQUENCY(xT,MOD(ROW(2:30),29)) |
|
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 13# eric7765
A欄統計
TRUE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(A2:A4835<>TRUE)),MOD(ROW(2:33),32))
FALSE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(A2:A4835<>FALSE)),MOD(ROW(2:33),32))
B欄統計
TRUE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(B2:B4835<>TRUE)),MOD(ROW(2:33),32))
FALSE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(B2:B4835<>FALSE)),MOD(ROW(2:33),32))
C欄統計
TRUE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(C2:C4835<>TRUE)),MOD(ROW(2:33),32))
FALSE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(C2:C4835<>FALSE)),MOD(ROW(2:33),32)) |
|
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 18# eric7765
以下資料位於 2:4835列,若有 10000筆表示資料位於 2:10001,將
ROW(2:4835)改為ROW(2:1001)
A2:4835改為A2:A1001
A欄統計
TRUE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(A2:A4835<>TRUE)),MOD(ROW(2:33),32))
FALSE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(A2:A4835<>FALSE)),MOD(ROW(2:33),32))
B欄統計
TRUE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(B2:B4835<>TRUE)),MOD(ROW(2:33),32))
FALSE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(B2:B4835<>FALSE)),MOD(ROW(2:33),32))
C欄統計
TRUE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(C2:C4835<>TRUE)),MOD(ROW(2:33),32))
FALSE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(C2:C4835<>FALSE)),MOD(ROW(2:33),32)) |
|
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 16# eric7765
28 29個那邊會出現數字?
這是不要的數字(為1及0的統計數),只是秀出來了解 |
|
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 15# eric7765
A欄統計
TRUE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(A2:A4835<>TRUE)),MOD(ROW(2:33),32))
FALSE =FREQUENCY(FREQUENCY(ROW(2:4835),ROW(2:4835)*(A2:A4835<>FALSE)),MOD(ROW(2:33),32))
參考上兩式TRUE與FALSE使用差別,因為有空白格時,用 = 容易錯誤,改用 <> 比較好。 |
|
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 24# eric7765
可以參考19樓方式比較簡單
B1 {=IF(AND(D$2:D$17=A1:A16),1,0)}
下拉
I6 =COUNTIF(B:B,1)
OR
I6 =COUNT(0/(MMULT(N(N(OFFSET(A1,ROW(1:120000)+COLUMN(A:P)-2,))=N(OFFSET(D2,COLUMN(A:P)-1,))),ROW(1:16)^0)=16)) |
|
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|