Làm cách nào để tạo hoặc liệt kê tất cả các hoán vị có thể có trong Excel?
Ví dụ: tôi có ba ký tự XYZ, bây giờ, tôi muốn liệt kê tất cả các hoán vị có thể dựa trên ba ký tự này để nhận được sáu kết quả khác nhau như sau: XYZ, XZY, YXZ, YZX, ZXY và ZYX. Trong Excel, làm cách nào bạn có thể nhanh chóng tạo hoặc liệt kê tất cả các hoán vị dựa trên số ký tự khác nhau?
Tạo hoặc liệt kê tất cả các hoán vị có thể dựa trên các ký tự có mã VBA
Tạo hoặc liệt kê tất cả các hoán vị có thể dựa trên các ký tự có mã VBA
Mã VBA sau có thể giúp bạn liệt kê tất cả các hoán vị dựa trên số lượng chữ cái cụ thể của bạn, vui lòng thực hiện như sau:
1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.
Mã VBA: Liệt kê tất cả các hoán vị có thể có trong excel
Sub GetString()
'Updateby Extendoffice
Dim xStr As String
Dim FRow As Long
Dim xScreen As Boolean
xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
xStr = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 2)
If Len(xStr) < 2 Then Exit Sub
If Len(xStr) >= 8 Then
MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
Exit Sub
Else
ActiveSheet.Columns(1).Clear
FRow = 1
Call GetPermutation("", xStr, FRow)
End If
Application.ScreenUpdating = xScreen
End Sub
Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
Dim i As Integer, xLen As Integer
xLen = Len(Str2)
If xLen < 2 Then
Range("A" & xRow) = Str1 & Str2
xRow = xRow + 1
Else
For i = 1 To xLen
Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
Next
End If
End Sub
3. Sau đó nhấn F5 để chạy mã này và một hộp nhắc xuất hiện để nhắc bạn nhập các ký tự mà bạn muốn liệt kê tất cả các hoán vị, xem ảnh chụp màn hình:
4. Sau khi nhập các ký tự, rồi bấm OK , tất cả các hoán vị có thể được hiển thị trong cột A của trang tính đang hoạt động. Xem ảnh chụp màn hình:
Chú thích: Nếu độ dài ký tự đã nhập bằng hoặc lớn hơn 8 ký tự, đoạn mã này sẽ không hoạt động vì có quá nhiều hoán vị.
Liệt kê hoặc tạo tất cả các kết hợp có thể có từ nhiều cột
Nếu bạn cần tạo tất cả các kết hợp có thể dựa trên dữ liệu nhiều cột, có thể, không có cách nào tốt để giải quyết nhiệm vụ. Nhưng, Kutools cho Excel's Liệt kê tất cả các kết hợp tiện ích có thể giúp bạn liệt kê tất cả các kết hợp có thể một cách nhanh chóng và dễ dàng. Nhấp để tải xuống Kutools cho Excel!
Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay!
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!