กฏกติกาของฟอรัม : แจ้งชื่อและนามสกุลจริงในการสมัครสมาชิก--ตั้งชื่อกระทู้ให้ตรงกับปัญหาที่ถาม--เขียนอธิบายคำถามทั้งในตัวกระทู้และในแฟ้มแนบให้ละเอียด--ห้ามใช้คำว่า อ่ะ คับ หรือคำผวน หรือคำที่ไม่มีในพจนานุกรมไทย--โปรดตั้งชื่อแฟ้มให้สื่อถึงปัญหาที่ถาม--อย่าระบุชื่อให้คนใดคนหนึ่งเป็นผู้ตอบ--งดให้ความร่วมมือหรือช่วยตอบคำถาม กระทู้ที่ละเมิดกฏกติกาของฟอรัม
Results 1 to 11 of 11

Thread: แยกตัวเลขที่ซ้ำกันในเซลเดียวกัน

  1. #1

    Join Date
    Oct 2012
    Location
    อยุธยา
    Job
    designer
    Version
    2003/7
    Posts
    4

    Icon11 แยกตัวเลขที่ซ้ำกันในเซลเดียวกัน

    ผมขอสูตรแยกตัวเลขที่ซ้ำกันในเซลเดียวกันครับ

    ตัวอย่าง

    เซล A-1 มีตัวเลข 12133356

    ผมอยากให้ A-2 ใส่สูตรแยกครับ ว่า มี 1 ซ้ำกัน2ตัวครับ และ 3 ซ้ำกัน 3 ตัวครับ จะใส่สูตรอย่างไรบ้างครับ

    ขอบคุณครับ

  2. #2
    Excel Expert Volunteer pichartyapan's Avatar
    Join Date
    May 2007
    Location
    Boots Retail, สำนักงานใหญ่, Bkk.
    Job
    Retail Excellence Manager job func: Budget planning and allocation for each branch. Incentive scheme planning and evaluation for incentive payment. Routine and Ad-hoc sales analysis.
    Version
    Excel 2003-2007/Window vista & 2007
    Posts
    1,653

    Default

    Quote Originally Posted by montree_ View Post
    ผมขอสูตรแยกตัวเลขที่ซ้ำกันในเซลเดียวกันครับ

    ตัวอย่าง

    เซล A-1 มีตัวเลข 12133356

    ผมอยากให้ A-2 ใส่สูตรแยกครับ ว่า มี 1 ซ้ำกัน2ตัวครับ และ 3 ซ้ำกัน 3 ตัวครับ จะใส่สูตรอย่างไรบ้างครับ

    ขอบคุณครับ
    ผมว่าใช้สูตรคงยาก คงต้องใช้ VBA code ช่วยครับ

  3. #3

    Join Date
    Oct 2012
    Location
    อยุธยา
    Job
    designer
    Version
    2003/7
    Posts
    4

    Default

    ช่วยแนะนำหน่อยได้หรือเปล่าครับ

    ขอบคุณครับ

  4. #4
    Excel Expert Volunteer orange_soi9's Avatar
    Join Date
    Nov 2007
    Location
    กรุงเทพฯ
    Job
    Financial Controller (FC)
    Version
    Excel 2007/Window 7
    Posts
    966

    Default

    ลองตามนี้ค่ะ
    A3=IF(LEN(A$1)-LEN(SUBSTITUTE(A$1,MID(A$1,ROW()-2,1),""))=1,"",MID(A$1,ROW()-2,1)) แล้ว copy ลงมา
    A2 ก็ใช้สูตร CONCATENATE ค่ะ
    (ไม่มีไฟล์แนบก็แนะนำได้แค่นี้นะคะ)

  5. #5
    Excel Expert Volunteer pichartyapan's Avatar
    Join Date
    May 2007
    Location
    Boots Retail, สำนักงานใหญ่, Bkk.
    Job
    Retail Excellence Manager job func: Budget planning and allocation for each branch. Incentive scheme planning and evaluation for incentive payment. Routine and Ad-hoc sales analysis.
    Version
    Excel 2003-2007/Window vista & 2007
    Posts
    1,653

    Default

    Quote Originally Posted by montree_ View Post
    ช่วยแนะนำหน่อยได้หรือเปล่าครับ

    ขอบคุณครับ
    ผมทำให้ดูแบบ ธรรมดา ๆ ไม่มีการ loop ซ้อนกันมาก ๆ เพราะไว้ศึกษาเป็นแนวทางครับ มีแนวทางอื่นได้อีกหลายแบบครับ ลองดูแบบนี้ก่อน ง่าย ๆ เข้าใจง่าย ๆ ครับ

    ลองดูไฟล์แนบเพิ่มเติมครับ

    ------------------
    Sub cntNum()
    Dim cntNum As Variant


    Num0s = 0
    Num1s = 0
    Num2s = 0
    Num3s = 0
    Num4s = 0
    Num5s = 0
    Num6s = 0
    Num7s = 0
    Num8s = 0
    Num9s = 0
    cellTxt = ""
    lastDataRow = Range("C" & Rows.Count).End(xlUp).Row
    For Each cell In Range("C3:C" & lastDataRow)
    cntNum = Len(cell)
    For i = 1 To cntNum
    singleNum = Mid(cell, i, 1)
    If singleNum = 1 Then
    Num1 = 1
    Num1s = Num1s + Num1
    ElseIf singleNum = 2 Then
    Num2 = 1
    Num2s = Num2s + Num2
    ElseIf singleNum = 3 Then
    Num3 = 1
    Num3s = Num3s + Num3
    ElseIf singleNum = 4 Then
    Num4 = 1
    Num4s = Num4s + Num4
    ElseIf singleNum = 5 Then
    Num5 = 1
    Num5s = Num5s + Num5
    ElseIf singleNum = 6 Then
    Num6 = 1
    Num6s = Num6s + Num6
    ElseIf singleNum = 7 Then
    Num7 = 1
    Num7s = Num7s + Num7
    ElseIf singleNum = 8 Then
    Num8 = 1
    Num8s = Num8s + Num8
    ElseIf singleNum = 9 Then
    Num9 = 1
    Num9s = Num9s + Num9
    Else
    Num0 = 1
    Num0s = Num0s + Num0
    End If
    Next i

    If Num1s <> 0 Then
    Num1s = "ÁÕµÑÇàÅ¢1ÍÂÙè" & Num1s & " µÑÇ, "
    Else
    Num1s = ""
    End If
    If Num2s <> 0 Then
    Num2s = "ÁÕµÑÇàÅ¢2ÍÂÙè" & Num2s & " µÑÇ, "
    Else
    Num2s = ""
    End If
    If Num3s <> 0 Then
    Num3s = "ÁÕµÑÇàÅ¢3ÍÂÙè" & Num3s & " µÑÇ, "
    Else
    Num3s = ""
    End If
    If Num4s <> 0 Then
    Num4s = "ÁÕµÑÇàÅ¢4ÍÂÙè" & Num4s & " µÑÇ, "
    Else
    Num4s = ""
    End If
    If Num5s <> 0 Then
    Num5s = "ÁÕµÑÇàÅ¢5ÍÂÙè" & Num5s & " µÑÇ, "
    Else
    Num5s = ""
    End If
    If Num6s <> 0 Then
    Num6s = "ÁÕµÑÇàÅ¢6ÍÂÙè" & Num6s & " µÑÇ, "
    Else
    Num6s = ""
    End If
    If Num7s <> 0 Then
    Num7s = "ÁÕµÑÇàÅ¢7ÍÂÙè" & Num7s & " µÑÇ, "
    Else
    Num7s = ""
    End If
    If Num8s <> 0 Then
    Num8s = "ÁÕµÑÇàÅ¢8 ÍÂÙè" & Num8s & " µÑÇ, "
    Else
    Num8s = ""
    End If
    If Num9s <> 0 Then
    Num9s = "ÁÕµÑÇàÅ¢9ÍÂÙè" & Num9s & " µÑÇ, "
    Else
    Num9s = ""
    End If
    If Num0s <> 0 Then
    Num0s = "ÁÕµÑÇàÅ¢0ÍÂÙè" & Num0s & " µÑÇ, "
    Else
    Num0s = ""
    End If

    cellTxt = Num0s & Num1s & Num2s & Num3s & Num4s & Num5s & Num6s & Num7s & Num8s & Num9s
    cell.Offset(0, 1) = Left(cellTxt, Len(cellTxt) - 2) & " ¤ÃѺ"


    Num0s = 0
    Num1s = 0
    Num2s = 0
    Num3s = 0
    Num4s = 0
    Num5s = 0
    Num6s = 0
    Num7s = 0
    Num8s = 0
    Num9s = 0
    cellTxt = ""
    Next
    End Sub
    ------------------------
    Attached Files Attached Files

  6. #6

    Join Date
    Oct 2012
    Location
    อยุธยา
    Job
    designer
    Version
    2003/7
    Posts
    4

    Default

    ผมส่งตัวอย่างช่วยทำให้หน่อยครับ

    ขอบคุณอาจารย์ทุกๆคนนะครับ
    Attached Files Attached Files

  7. #7
    Excel Expert Volunteer orange_soi9's Avatar
    Join Date
    Nov 2007
    Location
    กรุงเทพฯ
    Job
    Financial Controller (FC)
    Version
    Excel 2007/Window 7
    Posts
    966

    Default

    Quote Originally Posted by montree_ View Post
    ผมส่งตัวอย่างช่วยทำให้หน่อยครับ

    ขอบคุณอาจารย์ทุกๆคนนะครับ
    ชื่อไฟล์แนบผิดกฎ รบกวนแก้ไขด้วยค่ะ
    http://www.excelexperttraining.com/f...hp?do=vsarules

  8. #8

    Join Date
    Oct 2012
    Location
    อยุธยา
    Job
    designer
    Version
    2003/7
    Posts
    4

    Default

    ขอโทษครับ
    ส่งให้อีกทีแล้วครับ

    ผมส่งตัวอย่างช่วยทำให้หน่อยครับ

    ขอบคุณอาจารย์ทุกๆคนนะครับ

  9. #9
    Excel Expert Volunteer pichartyapan's Avatar
    Join Date
    May 2007
    Location
    Boots Retail, สำนักงานใหญ่, Bkk.
    Job
    Retail Excellence Manager job func: Budget planning and allocation for each branch. Incentive scheme planning and evaluation for incentive payment. Routine and Ad-hoc sales analysis.
    Version
    Excel 2003-2007/Window vista & 2007
    Posts
    1,653

    Default

    Quote Originally Posted by montree_ View Post
    ขอโทษครับ
    ส่งให้อีกทีแล้วครับ

    ผมส่งตัวอย่างช่วยทำให้หน่อยครับ

    ขอบคุณอาจารย์ทุกๆคนนะครับ
    ถ้าต้องการดูแค่บางค่า และ แยกแต่ละค่าลงใน cell แบบแยกค่ากันก็จะง่ายครับ สามารถใช้ function ได้แบบนี้

    =LEN($C$6)-LEN(SUBSTITUTE($C$6,C8,""))

    แล้ว ก็ copy ลงไปครับ

    ดูเพิ่มเติมในเอกสารแนบครับ

  10. #10
    Excel Expert Volunteer orange_soi9's Avatar
    Join Date
    Nov 2007
    Location
    กรุงเทพฯ
    Job
    Financial Controller (FC)
    Version
    Excel 2007/Window 7
    Posts
    966

    Default

    Quote Originally Posted by montree_ View Post
    ขอโทษครับ
    ส่งให้อีกทีแล้วครับ

    ผมส่งตัวอย่างช่วยทำให้หน่อยครับ

    ขอบคุณอาจารย์ทุกๆคนนะครับ
    ไม่ต้องขอโทษหรอกค่ะ แค่กลับไปแก้ไขไฟล์แนบที่ผิดกฎก็พอแล้วค่ะ

  11. #11
    Excel Expert Volunteer อรวีร์'s Avatar
    Join Date
    May 2007
    Location
    นนทบุรี&ปทุมธานี
    Job
    IT Expert
    Version
    Excel 2003/2007 & Windows XP
    Posts
    1,538
    Blog Entries
    3

    Icon7

    ถ้าเขียน VBA Function ล้อสูตรคุณ orange_soi9 จะได้ดังนี้ค่ะ
    Code:
    Function DupNum(No As String) As String
    Dim I As Integer, Dup As Integer
    For I = 1 To Len(No)
        Dup = Len(No) - Len(Replace(No, I, ""))
        If Dup > 1 Then DupNum = DupNum & ", มี " & I & " ซ้ำ " & Dup & " ตัว"
    Next
    If Len(DupNum) > 0 Then DupNum = Mid(DupNum, 3)
    End Function

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •