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

จะคืนค่าการค้นหาหลายค่าในเซลล์ที่คั่นด้วยจุลภาคหนึ่งเซลล์ได้อย่างไร

ใน Excel เราสามารถใช้ฟังก์ชัน VLOOKUP เพื่อส่งคืนค่าที่ตรงกันแรกจากเซลล์ตาราง แต่บางครั้งเราจำเป็นต้องแยกค่าที่ตรงกันทั้งหมดแล้วคั่นด้วยตัวคั่นเฉพาะเช่นลูกน้ำเส้นประ ฯลฯ ... เป็นค่าเดียว เซลล์ดังภาพหน้าจอต่อไปนี้ที่แสดง เราจะรับและส่งคืนค่าการค้นหาหลายค่าในเซลล์ที่คั่นด้วยจุลภาคหนึ่งเซลล์ใน Excel ได้อย่างไร

doc ส่งคืนค่าหลายค่าโดยคั่นด้วยเครื่องหมายจุลภาค 1

ส่งคืนค่าการค้นหาหลายค่าในเซลล์ที่คั่นด้วยจุลภาคหนึ่งเซลล์ด้วยฟังก์ชันที่กำหนดโดยผู้ใช้

ส่งคืนค่าการค้นหาหลายค่าในเซลล์ที่คั่นด้วยจุลภาคหนึ่งเซลล์ด้วย Kutools for Excel


ส่งคืนค่าการค้นหาหลายค่าในเซลล์ที่คั่นด้วยจุลภาคหนึ่งเซลล์ด้วยฟังก์ชันที่กำหนดโดยผู้ใช้

โดยปกติไม่มีวิธีโดยตรงที่เราจะแยกและส่งคืนค่าที่ตรงกันหลายค่าและคั่นด้วยลูกน้ำลงในเซลล์เดียวที่นี่คุณสามารถสร้างฟังก์ชันที่กำหนดโดยผู้ใช้เพื่อแก้ไขงานนี้ได้โปรดดำเนินการดังนี้:

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.

รหัส VBA: ส่งคืนค่าการค้นหาหลายค่าในเซลล์ที่คั่นด้วยจุลภาคหนึ่งเซลล์

Function SingleCellExtract(LookupValue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
'Updateby Extendoffice
    Dim I As Long
    Dim xRet As String
    For I = 1 To LookupRange.Columns(1).Cells.Count
        If LookupRange.Cells(I, 1) = LookupValue Then
            If xRet = "" Then
                xRet = LookupRange.Cells(I, ColumnNumber) & Char
            Else
                xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
            End If
        End If
    Next
    SingleCellExtract = Left(xRet, Len(xRet) - 1)
End Function

3. จากนั้นบันทึกรหัสนี้และปิดหน้าต่างโมดูลกลับไปที่แผ่นงานของคุณแล้วป้อนสูตรนี้: = SingleCellExtract (D2, A2: B15,2, ",") ลงในเซลล์ว่างที่คุณต้องการส่งคืนผลลัพธ์ จากนั้นกด เข้าสู่ กุญแจสำคัญในการรับผลลัพธ์ดูภาพหน้าจอ:

doc ส่งคืนค่าหลายค่าโดยคั่นด้วยเครื่องหมายจุลภาค 2

หมายเหตุ: ในสูตรข้างต้น:

D2: ระบุค่าเซลล์ที่คุณต้องการค้นหา

A2: B15: คือช่วงข้อมูลที่คุณต้องการดึงข้อมูล

2: หมายเลข 2 คือหมายเลขคอลัมน์ที่จะส่งคืนค่าที่ตรงกัน

,: ลูกน้ำคือตัวคั่นที่คุณต้องการแยกหลายค่า

คุณสามารถเปลี่ยนได้ตามความต้องการของคุณ


ส่งคืนค่าการค้นหาหลายค่าในเซลล์ที่คั่นด้วยจุลภาคหนึ่งเซลล์ด้วย Kutools for Excel

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

Kutools สำหรับ Excel : ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน

หลังจากการติดตั้ง Kutools สำหรับ Excelโปรดดำเนินการดังนี้:

1. เลือกช่วงข้อมูลที่คุณต้องการรวมค่าที่ตรงกันทั้งหมดตามคอลัมน์

2. คลิก Kutools > ผสานและแยก > แถวรวมขั้นสูงดูภาพหน้าจอ:

3. ใน รวมแถวตามคอลัมน์ กล่องโต้ตอบคลิกชื่อคอลัมน์ที่คุณต้องการรวมจากนั้นคลิก คีย์หลัก ปุ่มดูภาพหน้าจอ:

doc ส่งคืนค่าหลายค่าโดยคั่นด้วยเครื่องหมายจุลภาค 4

4. จากนั้นคลิกชื่อคอลัมน์อื่นที่คุณต้องการรวมค่าที่ตรงกันแล้วคลิก รวมกัน ในการเลือกตัวคั่นหนึ่งตัวเพื่อแยกค่ารวมดูภาพหน้าจอ:

doc ส่งคืนค่าหลายค่าโดยคั่นด้วยเครื่องหมายจุลภาค 5

5. จากนั้นคลิก OK เซลล์ที่เกี่ยวข้องทั้งหมดที่มีค่าเดียวกันรวมกันเป็นเซลล์เดียวซึ่งคั่นด้วยเครื่องหมายจุลภาคโปรดดูภาพหน้าจอ:

doc ส่งคืนค่าหลายค่าโดยคั่นด้วยเครื่องหมายจุลภาค 6 2 doc ส่งคืนค่าหลายค่าโดยคั่นด้วยเครื่องหมายจุลภาค 7

คลิกเพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับยูทิลิตี้ Advanced Combine Rows ...

ดาวน์โหลดและทดลองใช้ Kutools for Excel ฟรีทันที!


Demo: ส่งคืนค่าการค้นหาหลายค่าในเซลล์ที่คั่นด้วยจุลภาคหนึ่งเซลล์ด้วย Kutools for Excel

Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!

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

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

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

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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (16)
ได้รับคะแนน 5 จาก 5 · การจัดอันดับ 2
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขณะที่กำลังวางและบันทึกโมดูล มีข้อความป๊อปอัปปรากฏขึ้นว่าสูญเสียตัวตรวจสอบความเข้ากันได้ของฟังก์ชันอย่างมีนัยสำคัญ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณสำหรับโพสต์นี้ คุณรู้ไหมว่าฉันจะจัดการกับจำนวนเต็มสองตัวที่แยกจากกันนี้ได้อย่างไร ตัวอย่างเช่น สมมติว่าตอนนี้ฟังก์ชัน '=SingleCellExtract' สร้าง (1 , 2) มีวิธีที่จะมีเซลล์ถัดจากเซลล์ที่มี (1+.5 , 2+.5) หรือไม่?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ใช้งานได้ แต่ excel ของฉันช้าลงอย่างมาก! เคล็ดลับใด ๆ ที่จะช่วยให้ความเร็ว?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งนี้ไม่ได้ผล ฉันไม่สามารถทำให้มันทำงานในแอปพลิเคชันของตัวเองได้ ดังนั้นฉันจึงคัดลอก/วาง vba และสูตร และมันส่งคืนข้อผิดพลาดทุกครั้ง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณ ก่อนอื่นฉันจัดการเพื่อให้มันทำงานได้โดยไม่ทำให้ประสิทธิภาพการทำงานช้าลง ฉันใช้ค่าแทนข้อความนั้น ดังนั้นคำถามของฉันคือฉันต้องการนำสิ่งที่น้อยกว่า 19 คะแนนในรายการกลับมา เซลล์เดียว Extract ทำงานได้หรือไม่หรือต้องเป็นค่าเฉพาะ?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คำสั่ง VB หยุดทำงานเมื่อช่วงยาวกว่า 154 แถว (เช่น :B154)....
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ข้อผิดพลาดปรากฏขึ้นหากเพิ่มขนาดอาร์เรย์
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เมื่อ 2 เกณฑ์ตรงกันแล้วส่งกลับค่าการค้นหาหลายค่าในเซลล์ที่คั่นด้วยเครื่องหมายจุลภาค
A2=B2 จากนั้นผลลัพธ์จากช่วงโดย "SingleCellExtract" - ได้โปรด.......
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
อรุณสวัสดิ์

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

ฉันต้องการรหัสตรวจสอบความถูกต้องสำหรับค่าหลายค่าที่คั่นด้วยเครื่องหมายจุลภาคและช่องว่างสำหรับแต่ละค่า

ตัวอย่าง:
ลูซี่, ทอม, นิโคล, อากาช, แอปเปิล

โปรดเล่นซ้ำหากคุณมีข้อเสนอแนะใดๆ
ได้รับคะแนน 4.5 จาก 5
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีค่ะ คุณมณีกานต์
ในการแยกค่าหลายค่าด้วยเครื่องหมายจุลภาคและช่องว่าง คุณเพียงแค่ต้องเพิ่มช่องว่างหลังเครื่องหมายจุลภาค เปลี่ยนสูตรดังนี้: =SingleCellExtract(D2,A2:B15,2,", ").
โปรดลอง หวังว่าจะช่วยคุณได้!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี สกายหยาง

ขอบคุณสำหรับการเล่นซ้ำของคุณ!

ฉันลองแบบเดียวกันแล้ว แต่ในค่าเซลล์สุดท้ายเครื่องหมายจุลภาคพิเศษ (,) ด้านล่างเป็นตัวอย่าง

ลูซี่, ทอม, นิโคล, อาคาช, แอปเปิ้ล,

สิ่งนี้ใช้ไม่ได้กับไฟล์ Json ดังนั้นฉันจึงต้องการค่าที่คั่นด้วยเครื่องหมายจุลภาคและช่องว่างดังนี้

ลูซี่, ทอม, นิโคล, อากาช, แอปเปิล

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

Function MultipleValues(work_range As Range, criteria As Variant, merge_range As Range, Optional Separator As String = ",") As Variant
Dim outcome As String
On Error Resume Next
If work_range.Count <> merge_range.Count Then
MultipleValues = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To work_range.Count
If work_range.Cells(i).Value = criteria Then
outcome = outcome & Separator & merge_range.Cells(i).Value
End If
Next i
If outcome <> "" Then
outcome = VBA.Mid(outcome, VBA.Len(Separator) + 1)
End If
MultipleValues = outcome
Exit Function
End Function


หลังจากวางโค้ดแล้ว โปรดใช้สูตรนี้: =MultipleValues($A$2:$A$15,D2,$B$2:$B$15,", ")

โปรดลอง หวังว่านี่จะช่วยคุณได้!
หากคุณยังมีปัญหาอื่น ๆ โปรดแสดงความคิดเห็นที่นี่
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-return-multiple-matching-1.png
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี สกายหยาง

ตอนนี้ใช้งานได้แล้ว ขอบคุณสำหรับการตอบกลับอย่างรวดเร็วของคุณ

เป็นประโยชน์กับฉันอีกครั้ง ขอบคุณสำหรับความช่วยเหลือของคุณ

ความนับถือ,
มนกันต์.
ได้รับคะแนน 5 จาก 5
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่มีโปรแกรมถั่วเหลือง pero necesito ayuda para que la función de abajo en lugar de devolverme esto

S-01-08-0017->เสาไมโคร 1R สีดำ สแตนเลสปลาย->4;S-01-08-0057->ไมโครเสา 2R สีดำ สแตนเลสปลาย->2

ฉัน devuelva los valores en líneas diferentes.
S-01-08-0017->เสาไมโคร 1R สีดำ สแตนเลสปลาย->4
S-01-08-0057->เสาไมโคร 2R สีดำ สแตนเลสปลาย->2

ฟังก์ชันการทำงาน es:
ฟังก์ชัน SingleCellExtract (LookupValue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
'Updateby Extendoffice
หรี่ฉันนาน
Dim xRet เป็นสตริง
สำหรับ I = 1 ถึง LookupRange.Columns(1).Cells.Count
ถ้า LookupRange.Cells(I, 1) = LookupValue จากนั้น
ถ้า xRet = "" แล้ว
xRet = LookupRange.Cells(I, ColumnNumber) & ถ่าน
อื่น
xRet = xRet & "" & LookupRange.Cells (I, ColumnNumber) & Char
End If
End If
ต่อไป
SingleCellExtract = ซ้าย (xRet, Len (xRet) - 1)
ฟังก์ชั่นเอนด์
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี เยริ
คุณหมายถึงการแบ่งเซลล์ออกเป็นหลายแถวตามอักขระเครื่องหมายอัฒภาคหรือไม่
ถ้าเป็นเช่นนั้น โค้ด VBA ต่อไปนี้สามารถช่วยคุณได้:
Sub SplitAll()
    Dim xRg As Range
    Dim xRg1 As Range
    Dim xCell As Range
    Dim I As Long
    Dim xAddress As String
    Dim xUpdate As Boolean
    Dim xRet As Variant
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select a range", "Kutools for Excel", xAddress, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
        If xRg.Columns.Count > 1 Then
            MsgBox "You can't select multiple columns", , "Kutools for Excel"
            Exit Sub
            End If
            Set xRg1 = Application.InputBox("Split to (single cell):", "Kutools for Excel", , , , , , 8)
            Set xRg1 = xRg1.Range("A1")
            If xRg1 Is Nothing Then Exit Sub
                xUpdate = Application.ScreenUpdating
                Application.ScreenUpdating = False
                For Each xCell In xRg
                    xRet = Split(xCell.Value, ";")
                    xRg1.Worksheet.Range(xRg1.Offset(I, 0), xRg1.Offset(I + UBound(xRet, 1), 0)) = Application.WorksheetFunction.Transpose(xRet)
                    I = I + UBound(xRet, 1) + 1
                Next
                Application.ScreenUpdating = xUpdate
            End Sub

โปรดลอง หวังว่าจะช่วยคุณได้!
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL