วิธีการแสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียวใน Excel?
ถ้าคุณต้องการส่งคืนชุดค่าผสมที่เป็นไปได้ทั้งหมดจากข้อมูลคอลัมน์เดียวเพื่อให้ได้ผลลัพธ์ตามที่แสดงภาพหน้าจอด้านล่าง คุณมีวิธีที่รวดเร็วในการจัดการกับงานนี้ใน Excel หรือไม่
แสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียวพร้อมสูตร
แสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียวด้วยรหัส VBA
แสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียวพร้อมสูตร
สูตรอาร์เรย์ต่อไปนี้สามารถช่วยให้คุณบรรลุงานนี้ โปรดทำทีละขั้นตอน:
1. ขั้นแรก คุณควรสร้างเซลล์สูตรผู้ช่วยสองเซลล์ ในเซลล์ C1 โปรดป้อนสูตรด้านล่างแล้วกด Ctrl + Shift + Enter คีย์เพื่อให้ได้ผลลัพธ์:
2. ในเซลล์ C2 ให้ป้อนสูตรต่อไปนี้ แล้วกด Ctrl + Shift + Enter คีย์ร่วมกันเพื่อให้ได้ผลลัพธ์ที่สอง ดูภาพหน้าจอ:
3. จากนั้นคัดลอกและวางสูตรต่อไปนี้ในเซลล์ D2 แล้วกด Ctrl + Shift + Enter คีย์เข้าด้วยกันเพื่อให้ได้ผลลัพธ์แรกดูภาพหน้าจอ:
4. จากนั้นเลือกเซลล์สูตรนี้ แล้วลากที่จับเติมลงไปจนกว่าเซลล์ว่างจะปรากฏขึ้น ตอนนี้ คุณสามารถดูชุดข้อมูลคอลัมน์ที่ระบุทั้งหมดจะแสดงดังที่แสดงด้านล่าง:

ปลดล็อก Excel Magic ด้วย Kutools AI
- การดำเนินการอย่างชาญฉลาด: ดำเนินการกับเซลล์ วิเคราะห์ข้อมูล และสร้างแผนภูมิ ทั้งหมดนี้ขับเคลื่อนด้วยคำสั่งง่ายๆ
- สูตรที่กำหนดเอง: สร้างสูตรที่ปรับแต่งโดยเฉพาะเพื่อปรับปรุงขั้นตอนการทำงานของคุณ
- การเข้ารหัส VBA: เขียนและใช้งานโค้ด VBA ได้อย่างง่ายดาย
- การตีความสูตร: เข้าใจสูตรที่ซับซ้อนได้อย่างง่ายดาย
- การแปลข้อความ: ทลายกำแพงด้านภาษาภายในสเปรดชีตของคุณ
แสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียวด้วยรหัส VBA
สูตรข้างต้นใช้ได้เฉพาะกับ Excel เวอร์ชันใหม่เท่านั้น หากคุณมี Excel เวอร์ชันก่อนหน้า โค้ด VBA ต่อไปนี้สามารถช่วยคุณได้
1. กด Alt + F11 พร้อมกันเพื่อเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
2. จากนั้นคลิก สิ่งที่ใส่เข้าไป > โมดูลให้คัดลอกและวางโค้ด VBA ด้านล่างลงในหน้าต่าง
รหัส VBA: แสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียว
Sub ConnectArr()
'Updateby ExtendOffice
Dim xDValue As Variant
Dim xOutRg As Range
Dim xDictionary As Object
Dim xF As Long
Dim xChar As String
xDValue = Range("A2:A6").Value 'the data range
Set xOutRg = Range("C1") 'output range
xChar = "," 'separator
For xF = 1 To UBound(xDValue)
Set xDictionary = CreateObject("Scripting.Dictionary")
xDictionary(0) = "Sets of " & xF
Call ConnectValue(xDValue, xDictionary, 0, xF, 0, "", xChar)
xOutRg.Offset(0, xF - 1).Resize(xDictionary.Count).Value = WorksheetFunction.Transpose(xDictionary.Items)
Set xDictionary = Nothing
Next
End Sub
Sub ConnectValue(ByRef pDValue, ByRef pDictionary, ByRef pLevel, ByVal pMaxLevel, ByVal pIndex, ByVal pValue, ByVal pChar)
Dim xF As Long
If pLevel = pMaxLevel Then
pDictionary(pDictionary.Count + 1) = pValue
Exit Sub
End If
For xF = pIndex + 1 To UBound(pDValue)
If pValue = "" Then
Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pDValue(xF, 1), pChar)
Else
Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pValue & pChar & pDValue(xF, 1), pChar)
End If
Next
End Sub
- A2: A6: เป็นรายการข้อมูลที่คุณต้องการใช้
- C1: คือเซลล์เอาต์พุต
- ,: ตัวคั่นเพื่อแยกชุดค่าผสม
3. แล้วกด F5 คีย์เพื่อรันโค้ดนี้ ชุดค่าผสมทั้งหมดจากคอลัมน์เดียวแสดงไว้ด้านล่างภาพหน้าจอที่แสดง:
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!