Note: The other languages of the website are Google-translated. Back to English

วิธีการแสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียวใน Excel?

ถ้าคุณต้องการส่งคืนชุดค่าผสมที่เป็นไปได้ทั้งหมดจากข้อมูลคอลัมน์เดียวเพื่อให้ได้ผลลัพธ์ตามที่แสดงภาพหน้าจอด้านล่าง คุณมีวิธีที่รวดเร็วในการจัดการกับงานนี้ใน Excel หรือไม่

แสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียวพร้อมสูตร

แสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียวด้วยรหัส VBA


แสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียวพร้อมสูตร

สูตรอาร์เรย์ต่อไปนี้สามารถช่วยให้คุณบรรลุงานนี้ โปรดทำทีละขั้นตอน:

1. ขั้นแรก คุณควรสร้างเซลล์สูตรผู้ช่วยสองเซลล์ ในเซลล์ C1 โปรดป้อนสูตรด้านล่างแล้วกด Ctrl + Shift + Enter คีย์เพื่อให้ได้ผลลัพธ์:

=MAX(LEN(A2:A6))
หมายเหตุ: ในสูตรนี้ A2: A6 คือรายการเซลล์ที่คุณต้องการแสดงรายการชุดค่าผสม

2. ในเซลล์ C2 ให้ป้อนสูตรต่อไปนี้ แล้วกด Ctrl + Shift + Enter คีย์ร่วมกันเพื่อให้ได้ผลลัพธ์ที่สอง ดูภาพหน้าจอ:

=CONCAT(A2:A6&REPT(" ",C2-LEN(A2:A6)))
หมายเหตุ: ในสูตรนี้ A2: A6 คือรายการเซลล์ที่คุณต้องการแสดงรายการชุดค่าผสม C2 คือเซลล์มีสูตรที่คุณสร้างในขั้นตอนที่ 1

3. จากนั้นคัดลอกและวางสูตรต่อไปนี้ในเซลล์ D2 แล้วกด Ctrl + Shift + Enter คีย์เข้าด้วยกันเพื่อให้ได้ผลลัพธ์แรกดูภาพหน้าจอ:

=IF(ROW()>2^(COUNTA(A$2:A$6)),"",TEXTJOIN(" + ",TRUE,IF(MID(TEXT(DEC2BIN(ROW()-1),REPT("0",COUNTA($A$2:$A$6))),ROW(INDIRECT("1:"&COUNTA($A$2:$A$6))),1)+0,TRIM(MID($C$3,(ROW(INDIRECT("1:"&COUNTA($A$2:$A$6)))-1)*$C$2+1,$C$2)),"")))
หมายเหตุ: ในสูตรนี้ A2: A6 คือรายการเซลล์ที่คุณต้องการแสดงรายการชุดค่าผสม C2 คือเซลล์มีสูตรที่คุณสร้างในขั้นตอนที่ 1 C3 คือเซลล์ที่มีสูตรที่คุณสร้างในขั้นตอนที่ 2 + ตัวละครเป็นตัวคั่นเพื่อแยกชุดค่าผสม คุณสามารถเปลี่ยนได้ตามต้องการ

4. จากนั้นเลือกเซลล์สูตรนี้ แล้วลากที่จับเติมลงไปจนกว่าเซลล์ว่างจะปรากฏขึ้น ตอนนี้ คุณสามารถดูชุดข้อมูลคอลัมน์ที่ระบุทั้งหมดจะแสดงดังที่แสดงด้านล่าง:

หมายเหตุ: สูตรนี้มีเฉพาะใน Office 2019, 365 และเวอร์ชันที่ใหม่กว่า

แสดงรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดจากคอลัมน์เดียวด้วยรหัส 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 คีย์เพื่อรันโค้ดนี้ ชุดค่าผสมทั้งหมดจากคอลัมน์เดียวแสดงไว้ด้านล่างภาพหน้าจอที่แสดง:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (0)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ