Làm cách nào để phân phối danh sách trong excel?

Tôi cần một máy tính/chương trình ngẫu nhiên hóa cho một giải đấu bóng chuyền xáo trộn 36 người chơi để thi đấu hoặc ngồi ngoài trong vòng 12 trận

1) Chúng tôi có 2 sân bóng chuyền, 4 mặt (Đỏ & Xanh lục; Vàng & Xanh lam).
2) Chúng tôi có 36 người chơi. 6 đội mỗi đội 6 người chơi. 24 người chơi sẽ chơi thành 4 đội trên 2 sân cho mỗi trận đấu. 12 người chơi sẽ ngồi ngoài mỗi trò chơi. Mỗi đội sẽ bao gồm 6 người chơi khác nhau trong mỗi trò chơi.
3) Mỗi ​​người chơi sẽ có một số và sẽ chơi theo màu của đội và sân trong mỗi trận đấu.
4) Sẽ có tổng cộng 12 trò chơi. Mỗi người chơi sẽ chơi 8 và ngồi ngoài 4 trong số 12 trận. Mỗi người chơi sẽ chơi hai lần trên mỗi màu sân. Không người chơi nào được chơi quá 2 ván liên tiếp.
5) Với 36 người chơi, 1 người chơi sẽ chơi 8 ván với 5 người chơi khác, mỗi ván.

Chúng tôi cũng muốn sắp xếp chương trình cho. 36 người chơi (6 đội, mỗi đội 6 người);

Tôi muốn chương trình có thể chạy trên máy tính xách tay.
Cảm ơn sự hỗ trợ hoặc nhận xét của bạn.

Đáp lại

Chúng tôi có thể gặp phải một số tình huống khi xử lý Microsoft Excel nơi tất cả dữ liệu của chúng tôi nằm trong một cột. Nhưng chúng ta cần chia chúng thành nhiều nhóm bằng nhau. Sau khi tách, dữ liệu trông hấp dẫn hơn. Trong bài viết này, chúng tôi sẽ thảo luận về 3 phương pháp về cách chia dữ liệu thành các nhóm bằng nhau trong Excel với các ví dụ phù hợp và minh họa phù hợp


Mục lục ẩn

Tải sách bài tập thực hành

3 phương pháp chia dữ liệu thành các nhóm bằng nhau trong Excel

1. Kết hợp các hàm INDEX, COLUMNS, ROWS và IF để chia dữ liệu thành các nhóm bằng nhau

2. Tách một danh sách dài thành nhiều nhóm bằng nhau với Excel VBA

3. Sử dụng chức năng VBA tùy chỉnh để chia dữ liệu thành các nhóm chẵn

Cách chia tách dữ liệu và gắn thẻ với số nhóm

1. Tách dữ liệu bằng cách kết hợp các hàm MAX, ROUNDUP và PERCENTRANK

2. Kết hợp các hàm ROUNDUP, ROW và COUNT để chia dữ liệu

Sự kết luận

Những bài viết liên quan

Tải sách bài tập thực hành

Tải xuống sách bài tập thực hành này để thực hành trong khi bạn đang đọc bài viết này

Chia dữ liệu thành các nhóm bằng nhau. xlsm


3 phương pháp chia dữ liệu thành các nhóm bằng nhau trong Excel

Chúng ta có thể chia dữ liệu theo nhiều cách khác nhau. Ta có thể áp dụng điều kiện để tách dữ liệu i. e. mỗi nhóm chứa bao nhiêu nhóm hoặc bao nhiêu ô. Để hiển thị tất cả các phương thức, chúng tôi sẽ sử dụng tập dữ liệu sau

Làm cách nào để phân phối danh sách trong excel?


1. Kết hợp các hàm INDEX, COLUMNS, ROWS và IF để chia dữ liệu thành các nhóm bằng nhau

Hàm IF là một trong những hàm được sử dụng rộng rãi của Microsoft Excel. Đây là một hàm logic kiểm tra xem một điều kiện có được đáp ứng hay không và trả về một giá trị nếu TRUE và một giá trị khác nếu FALSE

Làm cách nào để phân phối danh sách trong excel?

Hàm INDEX trả về một giá trị hoặc tham chiếu của ô tại giao điểm của một hàng cụ thể và một cột trong một phạm vi nhất định

Làm cách nào để phân phối danh sách trong excel?

Hàm COLUMNS trả về số cột trong một mảng hoặc tham chiếu

Làm cách nào để phân phối danh sách trong excel?

Hàm ROWS trả về số hàng trong một tham chiếu hoặc mảng

Làm cách nào để phân phối danh sách trong excel?

Ta sẽ lập công thức kết hợp 4 hàm này để tách dữ liệu

Bước 1

  • Chúng tôi sẽ chia dữ liệu đã cho thành 3 nhóm bằng nhau. Vì vậy, chúng tôi đã thêm Không. của ô Nhóm trong tập dữ liệu và đặt 3 vào ô tương ứng

Làm cách nào để phân phối danh sách trong excel?

Bước 2

  • Bây giờ, đi đến Ô D7
  • Đặt công thức sau vào ô đó

=IFERROR(IF($F$4>=COLUMNS($B$5:B5),INDEX($B$5:$B$16,(ROWS($B$5:B5))*$F$4-($F$4-COLUMNS($B$5:B5))),""),"")

Làm cách nào để phân phối danh sách trong excel?

Bước 3

  • Nhấn Enter và kéo biểu tượng Fill Handle về phía bên phải

Làm cách nào để phân phối danh sách trong excel?

Chúng tôi mở rộng công thức về phía bên phải. Bởi vì mục đích chính của chúng tôi trước tiên là chia dữ liệu thành các nhóm. Dựa trên các nhóm và số lượng dữ liệu có sẵn, các ô sẽ được thêm vào các nhóm

Bước 4

  • Bây giờ, hãy kéo biểu tượng Fill Handle xuống dưới để hoàn thành việc tách

Làm cách nào để phân phối danh sách trong excel?

Tất cả dữ liệu được chia đều thành các nhóm khác nhau

Phân tích công thức

Ở đây chúng tôi đang cố gắng lấy đầu vào đầu tiên trong nhóm thứ nhất (trong số 3 nhóm). Các nhóm được trang trí theo cách sắp xếp giống như cột

  • $F$4>=COLUMNS($B$5. B5)

Đầu tiên, hàm IF kiểm tra xem điều kiện đã cho có được đáp ứng hay không. Nếu các tiêu chí được đáp ứng, phần sau của công thức sẽ hoạt động, nếu không, hàm IF sẽ trả về “”.
Kết quả. ĐÚNG

  • $F$4-COLUMNS($B$5. B5)

Phần công thức này lấy tổng số nhóm trừ đi số lượng cột trong phạm vi đã cho.
Kết quả. 2

  • (ROWS($B$5. B5))*$F$4

Ở đây, số hàng trong phạm vi nhất định được nhân với tổng số nhóm.
Kết quả. 3

  • (ROWS($B$5. B5))*$F$4-($F$4-COLUMNS($B$5. B5))

Công thức này tạo ra một số hàng mà chúng ta sẽ sử dụng làm đối số cho hàm INDEX.
Kết quả. 1

  • CHỈ SỐ($B$5. $B$16,1)

Chúng tôi nhận được một đầu ra ở đây từ phạm vi đã cho như được chỉ định bởi số hàng.
Kết quả. “Jessica”

  • IFERROR(IF($F$4>=COLUMNS($B$5. B5),INDEX($B$5). $B$16,(ROWS($B$5. B5))*$F$4-($F$4-COLUMNS($B$5. B5))),””),””)

Hàm IFERROR kiểm tra xem có lỗi nào không. Nếu không tìm thấy lỗi, hãy cung cấp đầu ra của hàm IF.
Kết quả. “Jessica”

Đọc thêm. Cách chia nhỏ dữ liệu trong Excel (5 cách)


2. Tách một danh sách dài thành nhiều nhóm bằng nhau với Excel VBA

Chúng tôi có một danh sách dài chứa 12 ô. Chúng tôi muốn chia chúng thành 3 nhóm với 4 ô mỗi nhóm. Thực hiện theo các bước dưới đây dựa trên mã VBA Excel

Làm cách nào để phân phối danh sách trong excel?

Bước 1

  • Đầu tiên bạn vào phần Sheet Name ở viền dưới mỗi sheet. Sau đó, nhấn nút bên phải của chuột
  • Chọn tùy chọn Xem mã từ danh sách

Làm cách nào để phân phối danh sách trong excel?

Bước 2

  • Lúc này cửa sổ ứng dụng VBA sẽ hiện ra. Chọn tùy chọn Mô-đun từ tab Chèn

Làm cách nào để phân phối danh sách trong excel?

  • Cửa sổ mô-đun lệnh VBA xuất hiện ngay bây giờ. Chúng tôi viết mã VBA trên cửa sổ này và chạy từ đây

Làm cách nào để phân phối danh sách trong excel?

Bước 3

  • Sao chép và dán mã VBA sau vào mô-đun lệnh
Sub split_data_into_equal_groups()
    Dim input_1 As Range
    Dim output_1 As Range
    Dim text_1 As String
    Dim out_array_1 As Variant
    Dim n, m As Long
    On Error Resume Next
    text_1 = ActiveWindow.RangeSelection.Address
Sel:
    Set input_1 = Nothing
    Set input_1 = Application.InputBox("Select input range:", "Range", text_1, , , , , 8)
    If input_1 Is Nothing Then Exit Sub
    If input_1.Areas.Count > 1 Then
        MsgBox "Multiple selections are not supported, select again", vbInformation, "Range"
        GoTo Sel
    End If
    If input_1.Columns.Count > 1 Then
        MsgBox "Multiple selections are not supported, select again", vbInformation, "Range"
        GoTo Sel
    End If
    Set output_1 = Application.InputBox("Select a cell to view the output:", "Start Range", , , , , , 8)
    If output_1 Is Nothing Then Exit Sub
    n = Application.InputBox("Number of cells per column:", "Cell Number", , , , , , 1)
    If n < 1 Then
        MsgBox "incorrect enter", vbInformation, "Cell Number"
        Exit Sub
    End If
    ReDim out_array_1(1 To n, 1 To Int(input_1.Rows.Count / n) + 1)
    For m = 0 To input_1.Rows.Count - 1
      out_array_1(1 + (m Mod n), 1 + Int(m / n)) = input_1.Cells(m + 1)
    Next
    output_1.Range("A1").Resize(n, UBound(out_array_1, 2)) = out_array_1
End Sub

Làm cách nào để phân phối danh sách trong excel?

Bước 4

  • Nhấn F5 để chạy mã. Một hộp thoại sẽ xuất hiện để chọn phạm vi.
  • Chúng tôi chọn dãy B5. B16 làm đầu vào

Làm cách nào để phân phối danh sách trong excel?

Bước 5

  • hộp thoại thứ 2 xuất hiện. Hộp này yêu cầu tham chiếu ô để bắt đầu xuất dữ liệu. Ta chọn Ô D5 Sau đó nhấn OK

Làm cách nào để phân phối danh sách trong excel?

Bước 6

  • Hộp thoại thứ 3 xem ngay bây giờ. Nó cho biết mỗi nhóm chứa bao nhiêu ô. Chúng tôi đặt 4 ở đây

Làm cách nào để phân phối danh sách trong excel?

Bước 7

  • Cuối cùng, nhấn OK

Làm cách nào để phân phối danh sách trong excel?

Dữ liệu của chúng tôi được chia thành 3 nhóm bằng nhau. Chúng ta cần đề cập đến số lượng ô trong mỗi nhóm khi chạy mã


bài đọc tương tự

  • Cách chia dữ liệu thành nhiều bảng tính trong Excel
  • Excel Macro để chia một ô thành nhiều hàng (với các bước đơn giản)
  • Cách chia dữ liệu từ một ô thành nhiều hàng trong Excel (3 phương pháp)
  • Excel Macro để chia dữ liệu thành nhiều tệp (với các bước đơn giản)

3. Sử dụng chức năng VBA tùy chỉnh để chia dữ liệu thành các nhóm chẵn

Trong phần này, chúng ta sẽ tạo Hàm VBA tùy chỉnh để chia dữ liệu thành các nhóm bằng nhau

Bước 1

  • Nhấn Alt+F11 để vào mô-đun lệnh VBA.
  • Đặt mã VBA sau vào mô-đun lệnh và lưu mã
Function GroupValues(range_1 As Range)
Dim output As Variant
n = Application.Caller.Columns.Count
m = Application.Caller.Rows.Count
ReDim output(1 To m, 1 To n)
k = 1
For row_1 = 1 To m
    For column_1 = 1 To n
        If range_1.Cells(k) <> "" Then
            output(row_1, column_1) = range_1.Cells(k)
        Else
            output(row_1, column_1) = ""
        End If
        k = k + 1
    Next column_1
Next row_1
GroupValues = output
End Function

Làm cách nào để phân phối danh sách trong excel?

Bước 2

  • Chuyển đến tập dữ liệu. Chọn phạm vi D5. F8, nơi dữ liệu sẽ biến thành các nhóm
  • Bây giờ, hãy chuyển đến thanh công thức và đặt công thức sau

=GroupValues(B5:B16)

Làm cách nào để phân phối danh sách trong excel?

Bước 3

  • Đây là công thức mảng. Vì vậy, hãy nhấn Ctrl + Shift + Enter .

Làm cách nào để phân phối danh sách trong excel?

Chúng ta có thể thấy rằng dữ liệu của một danh sách dài biến đổi thành các nhóm bằng nhau. GroupValues ​​này là một chức năng VBA tùy chỉnh


Cách chia tách dữ liệu và gắn thẻ với số nhóm

Trong phần trước, chúng tôi chia dữ liệu thành các nhóm bằng nhau. Nhưng trong phần này, chúng tôi sẽ chỉ gắn thẻ từng dữ liệu với số nhóm và sẽ không chia chúng thành các nhóm. Ngoài ra, đề cập rằng chúng tôi sẽ chỉ áp dụng các phương pháp dưới đây cho dữ liệu số


1. Tách dữ liệu bằng cách kết hợp các hàm MAX, ROUNDUP và PERCENTRANK

Hàm MAX trả về giá trị lớn nhất trong một tập hợp các giá trị. Bỏ qua các giá trị logic và văn bản

Làm cách nào để phân phối danh sách trong excel?

Hàm ROUNDUP làm tròn một số lên, cách xa 0

Làm cách nào để phân phối danh sách trong excel?

Hàm PERCENTRANK trả về thứ hạng của một giá trị trong tập dữ liệu dưới dạng phần trăm của tập dữ liệu

Làm cách nào để phân phối danh sách trong excel?

Chúng tôi kết hợp các hàm MAX, ROUNDUP và PERCENTRANK để phân chia dữ liệu. Nhưng sự kết hợp này chỉ áp dụng cho dữ liệu số

Chúng tôi sẽ xem xét tập dữ liệu dưới đây để hoạt động

Làm cách nào để phân phối danh sách trong excel?

Bước 1

  • Chuyển đến ô C5
  • Đặt công thức sau

=MAX( ROUNDUP( PERCENTRANK($B$5:$B$12,B5) *4, 0),1)

Làm cách nào để phân phối danh sách trong excel?

Bước 2

  • Bây giờ, hãy nhấn nút Enter

Làm cách nào để phân phối danh sách trong excel?

Ở đây, chúng ta có thể thấy rằng dữ liệu đã cho được gắn thẻ với số nhóm thay vì chia nhỏ chúng. Dữ liệu được đánh dấu bằng một số nhóm tương ứng trong ô liền kề

Phân tích công thức

  • PERCENTRANK($B$5. $B$12,B5)

Tính toán tỷ lệ phần trăm của Ô B5 so với Phạm vi B5. B12.
Kết quả. 0. 142

  • PERCENTRANK($B$5. $B$12,B5) *4

Nhân kết quả với 4. Đối số nhân này quyết định có bao nhiêu nhóm hình thành.
Kết quả. 0. 568

  • LÀM TRÒN( PERCENTRANK($B$5. $B$12,B5) *4, 0)

Điều này làm tròn kết quả lên đến 0 chữ số trong phần thập phân.
Kết quả. 1

  • TỐI ĐA( LÀM TRÒN( PERCENTRANK($B$5. $B$12,B5) *4, 0),1)

Điều này cung cấp số lớn nhất dựa trên kết quả làm tròn.
Kết quả. 1


2. Kết hợp các hàm ROUNDUP, ROW và COUNT để chia dữ liệu

Hàm ROW trả về số hàng của tham chiếu

Làm cách nào để phân phối danh sách trong excel?

Hàm COUNT đếm số ô trong một phạm vi có chứa số

Làm cách nào để phân phối danh sách trong excel?

Ta sẽ kết hợp các hàm ROUNDUP, ROW, COUNT để lấy số nhóm tương ứng của từng dữ liệu số

Bước 1

  • Chuyển đến ô C5 và đặt công thức sau

=ROUNDUP(ROW()/(COUNT(B:B)/1),0)

Làm cách nào để phân phối danh sách trong excel?

Bước 2

  • Nhấn nút Enter để thực hiện công thức

Làm cách nào để phân phối danh sách trong excel?

Chúng ta có thể thấy rằng mỗi dữ liệu mang số nhóm tương ứng với chúng. Dữ liệu sẽ không bị chia tách khi áp dụng phương pháp này

Phân tích công thức

  • ĐẾM(B. b)

Cái này đếm số ô chứa dữ liệu số của Cột B.
Kết quả. 8

  • ĐẾM(B. B)/1

Chia kết quả trước đó cho 1.
Kết quả. 8

  • HÀNG NGANG()

Đếm số hàng chứa dữ liệu.
Kết quả. 8

  • HÀNG()/(ĐẾM(B. B)/1)

Chia kết quả của hàm ROW cho kết quả của hàm COUNT.
Kết quả. 1

  • LÀM TRÒN(ROW()/(ĐẾM(B. B)/1),0)

Làm tròn kết quả trước đó.
Kết quả. 1


Sự kết luận

Trong bài viết này, chúng tôi đã mô tả cách chia dữ liệu thành các nhóm bằng nhau trong Excel. Tôi hy vọng điều này sẽ đáp ứng nhu cầu của bạn. Vui lòng xem trang web của chúng tôi ExcelDemy. com và đưa ra đề xuất của bạn trong hộp bình luận