Trang 1 của 3 123 CuốiCuối
Kết quả 1 đến 10 của 25

Chủ đề: Tách số và ghép số. Ai giúp mình với

  1. #1
    grantevil Guest

    Tách số và ghép số. Ai giúp mình với

    Bài 1:cả nhà ơi giúp mình với. mình có một chuỗi các số như sau: 1, 2, 3, 4, 5, 6, 11, 12, 13, 111, 2222 mà giời nhiệm vụ của mình là cần là chuyển thành một cột số như sau:
    1
    2
    3
    4
    5
    6
    11
    ...
    2222
    Bài 2: có một cột số như sau
    1
    2
    3
    4
    9
    10
    giờ mình muốn chuyển thành một ô mang tính chất thống kê có dạng như sau: 1-4, 9, 10 (có nghĩa là các số liền nhau sẽ được thay bằng dấu "-", còn nếu không liền nhau thì liệt kê các số đó ra.)
    Cả nhà giúp mình với mình rất cảm ơn và hậu tại nếu có đk gặp gỡ

  2. #2
    tgvhgame Guest
    không ai giúp được mình à

  3. #3
    sownlee Guest
    Trích dẫn Gửi bởi npthaihd
    không ai giúp được mình à
    Dùng VBA có được không?

  4. #4
    chutichht Guest
    Bài 1, bạn làm như sau: Bôi đen hàng cần chuyển thành cột-->Copy-->paste special/transpose-->OK

  5. #5
    hoainam100 Guest
    Trích dẫn Gửi bởi npthaihd

    Bài 2: có một cột số như sau
    1
    2
    3
    4
    9
    10
    giờ mình muốn chuyển thành một ô mang tính chất thống kê có dạng như sau: 1-4, 9, 10 (có nghĩa là các số liền nhau sẽ được thay bằng dấu "-", còn nếu không liền nhau thì liệt kê các số đó ra.)
    Cả nhà giúp mình với mình rất cảm ơn và hậu tại nếu có đk gặp gỡ
    Chỗ màu đỏ tôi nghĩ phải là 9-10 chứ nhỉ?

  6. #6
    hungnd Guest
    Tôi viết hàm này cơ bản là giải quyết được yêu cầu của bạn. Còn 1 số tình huống khác nếu xảy ra thì chờ các thanh viên khác khắc phục giúp.

    Mã:
    Option Explicit
    
    
    Public Function ThongKe(rng As Range) As String
    Dim i As Integer, bd As String, kt As String, tmp1 As String, tmp2 As String
    bd = rng(1, 1)
    For i = 1 To rng.Rows.Count
        If Val(rng(i + 1, 1) - rng(i, 1)) > 1 Then
            kt = rng(i, 1)
            tmp1 = tmp1 & bd & " - " & kt & ", "
            bd = rng(i + 1, 1)
        Else
                kt = rng(i, 1)
            If Val(bd) = Val(kt) Then
                tmp2 = bd
            Else
                    tmp2 = bd & " - " & kt
            End If
        End If
    Next i
    ThongKe = tmp1 & tmp2
    End Function
    -------------------------------------------------
    Cách dùng: =ThongKe(vung)

  7. #7
    blkaka Guest
    Hiện tại hàm xử lí được các cụm số liền nhau, còn các số đứng lẻ 1
    Ví dụ 1,2,5,6,7,8 mình thì hàm vẫn thống kê kiểu kiểu: 1-2,5-5,6-8 mong các bạn hoàn thiện giúp để được: 1-2,5,6-8

  8. #8
    Mynamekiller Guest
    Trích dẫn Gửi bởi chuot0106
    Tôi viết hàm này cơ bản là giải quyết được yêu cầu của bạn. Còn 1 số tình huống khác nếu xảy ra thì chờ các thanh viên khác khắc phục giúp.

    <div class="bbcode_container">
    <div class="bbcode_description">Code:
    </div>
    </div>
    Chưa xong được đâu!
    Với dữ liệu như trong file, nếu xóa cell A9 thì kết quả... trật lất

  9. #9
    putadesign Guest
    Trích dẫn Gửi bởi ndu96081631
    Chưa xong được đâu!
    Với dữ liệu như trong file, nếu xóa cell A9 thì kết quả... trật lất
    Thì em bảo cơ bản là giải quyết được thôi mà thầy. Tức code chỉ giải quyết với các ô trong cột có dữ liệu liên tục tăng dần. Mong thầy giúp để hoàn thiện hơn, em nghĩ mãi mà chưa ra cách giải quyết trường hợp sau ở bài #7.

  10. #10
    buidinhsg Guest
    Trích dẫn Gửi bởi chuot0106
    Thì em bảo cơ bản là giải quyết được thôi mà thầy. Tức code chỉ giải quyết với các ô trong cột có dữ liệu liên tục tăng dần. Mong thầy giúp để hoàn thiện hơn, em nghĩ mãi mà chưa ra cách giải quyết trường hợp sau ở bài #7.
    Giải pháp:
    - Chuyển vùng (hoặc mảng) số thành mảng 1 chiều (nhớ loại bỏ các phần tử rổng)
    - Sort mảng 1 chiều này. Bài toán sort mảng 1 chiều có đầy trên GPE, sort number lại càng dễ
    - Cuối cùng mới đến phần nối chuỗi

Trang 1 của 3 123 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •