Board logo

標題: 如何找出現二次以上的數字? [打印本頁]

作者: q1a2z5    時間: 2012-2-4 11:04     標題: 如何找出現二次以上的數字?

在儲存格範圍內,如何找出現二次以上的數字?
並不是要統計數字出現的次數.
謝謝!
作者: register313    時間: 2012-2-4 12:15

回復 1# q1a2z5

A17 B17 陣列公式
A17=SMALL(IF(COUNTIF($A$1:$F$15,$A$1:$F$15)>1,$A$1:$F$15,""),COLUMN(A:A))
B17=IF(ISERROR(SMALL(IF(COUNTIF($A$1:$F$15,$A$1:$F$15)>1,$A$1:$F$15,""),1+SUM(COUNTIF($A$1:$F$15,$A$17:A17)))),"",SMALL(IF(COUNTIF($A$1:$F$15,$A$1:$F$15)>1,$A$1:$F$15,""),1+SUM(COUNTIF($A$1:$F$15,$A$17:A17))))  向右複製

[attach]9426[/attach]
作者: Hsieh    時間: 2012-2-4 15:39

回復 1# q1a2z5
H3陣列公式
=IF(COLUMN(A1)>SUM(IF(COUNTIF($A$1:$F$15,$A$1:$F$15)>=2,1/COUNTIF($A$1:$F$15,$A$1:$F$15),0)),"",SMALL(IF(COUNTIF($G$3:G3,IF(COUNTIF($A$1:$F$15,$A$1:$F$15)>=2,$A$1:$F$15,""))=0,IF(COUNTIF($A$1:$F$15,$A$1:$F$15)>=2,$A$1:$F$15,""),""),1))
[attach]9430[/attach]
作者: q1a2z5    時間: 2012-2-5 16:54

要如何找出四個號碼為一組又曾經出現二次以上的數字組合呢?
如附件

謝謝!
作者: Hsieh    時間: 2012-2-5 22:26

本帖最後由 Hsieh 於 2012-2-5 22:28 編輯

回復 4# q1a2z5
H1=B1&","&C1&","&D1&","&E1
向右向下複製
L2陣列公式
=INDIRECT("R"&MOD(SMALL(IF((COUNTIF($L$1:L1,$H$1:$J$12)=0)*(COUNTIF($H$1:$J$12,$H$1:$J$12)=2),COLUMN($H$1:$J$12)*100+ROW($H$1:$J$12),""),1),100)&"C"&INT(SMALL(IF((COUNTIF($L$1:L1,$H$1:$J$12)=0)*(COUNTIF($H$1:$J$12,$H$1:$J$12)=2),COLUMN($H$1:$J$12)*100+ROW($H$1:$J$12),""),1)/100),0)
[attach]9453[/attach]
作者: q1a2z5    時間: 2012-2-6 08:53

謝謝大大的回復
那如果四個號碼所在儲存格都不相連的話,可有方法顯示出來呢

如附件

謝謝!
作者: Hsieh    時間: 2012-2-10 00:11

回復 6# q1a2z5
這用函數解不出來
[attach]9525[/attach]
  1. Sub nn()
  2. Dim Ay()
  3. Set d = CreateObject("Scripting.Dictionary")
  4. Set d1 = CreateObject("Scripting.Dictionary")

  5. ar = [B1:G12].Value
  6. For r = 1 To 12
  7. For i = 1 To 3
  8.    For j = i + 1 To 6
  9.       For x = j + 1 To 6
  10.          For y = x + 1 To 6
  11.          mystr = Join(Array(ar(r, i), ar(r, j), ar(r, x), ar(r, y)), ",")
  12.          d1(mystr & r) = d1(mystr & r) + 1
  13.          If d1(mystr & r) = 1 Then d(mystr) = d(mystr) + 1
  14.          Next
  15.       Next
  16.    Next
  17. Next
  18. Next
  19. For Each ky In d.keys
  20.    If d(ky) = 2 Then
  21.    ReDim Preserve Ay(s)
  22.    Ay(s) = ky
  23.    s = s + 1
  24.    End If
  25. Next
  26. [H4].Resize(s, 1) = Application.Transpose(Ay)
  27. End Sub
複製代碼

作者: handmuch    時間: 2012-2-10 21:13

回復 6# q1a2z5


    這像是數學題!!  參考一下!  用了很多的輔助跟分開的步驟  

基本的做法是兩組數字一直比下去      再找出相同號個數(即有四個號碼組重複)=4 (正確的說是>=4)      再將號碼找出

當組數更多 或找出出現三次以上的數字組  那就"再說"

我下載的是6#的檔    第六組的數字跟之前的檔不一樣
[attach]9539[/attach]




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