รวบข้อมูลให้อยู่ในเซลล์เดียวกัน​ V.2

3/19 แก้ไขเป็น

... อ่านเพิ่มเติมจากสถิติที่คนค้นหาเยอะคือ “ข้อมูลที่รวมเป็นหนึ่งเดียว” และ “ขึ้นบรรทัดใหม่ excel ในช่องเดียวกัน” เลยขอเสริมวิธีทำแบบจับไปใช้ได้ทันที (เหมาะกับงานรวมรายการสินค้า/ข้อความซ้ำ ๆ ให้เหลือ 1 เซลล์) 1) รวมข้อความให้เป็นเซลล์เดียวแบบคั่นด้วยจุลภาค สมมติคอลัมน์ D เป็น “ชื่อลูกค้า” และคอลัมน์ F:H เป็น “รายการสินค้า” ที่กระจายหลายคอลัมน์/หลายแถว แนวคิดคือ: FILTER ดึงเฉพาะแถวของลูกค้าคนนั้น → (ถ้าหลายคอลัมน์ให้แผ่เป็นคอลัมน์เดียวด้วย TOCOL) → ลบซ้ำด้วย UNIQUE → รวมเป็นข้อความเดียวด้วย TEXTJOIN ตัวอย่างสูตร (ใส่ที่เซลล์สรุป เช่น K7 โดย J7 คือชื่อลูกค้าที่ต้องการสรุป) =TEXTJOIN(", ",TRUE,UNIQUE(TOCOL(FILTER($F$7:$H$16,$D$7:$D$16=J7),1))) - ", " คือคั่นด้วยจุลภาค - TRUE คือให้ข้ามค่าว่าง - TOCOL(...,1) ช่วยตัดช่องว่าง/ค่าว่างออก (ทำให้รายการไม่ติดช่องว่างแปลก ๆ) 2) อยาก “ขึ้นบรรทัดใหม่” ในเซลล์เดียว (แทนการคั่นด้วยจุลภาค) แค่เปลี่ยนตัวคั่นใน TEXTJOIN เป็น CHAR(10) =TEXTJOIN(CHAR(10),TRUE,UNIQUE(TOCOL(FILTER($F$7:$H$16,$D$7:$D$16=J7),1))) ทำแล้วถ้ายังไม่ขึ้นบรรทัดใหม่ ให้ไปที่ Home > Wrap Text (ตัดคำ) เปิดไว้ด้วยนะ 3) กรณีข้อมูลอยู่ “ในเซลล์เดียว” แต่คั่นด้วยเครื่องหมายจุลภาค แล้วอยากแยกบรรทัด/แยกคอลัมน์ - แยกเป็นคอลัมน์/แถวด้วย TEXTSPLIT เช่น =TEXTSPLIT(E7, ", ") - ถ้าต้องการให้แสดงเป็นหลายบรรทัดในช่องเดียว: หลังแยกแล้วค่อย JOIN กลับด้วย CHAR(10) =TEXTJOIN(CHAR(10),TRUE,TEXTSPLIT(E7, ", ")) 4) ทริคเล็ก ๆ ที่ช่วยให้ผลลัพธ์ “สวยและไม่ซ้ำ” - บางไฟล์มีช่องว่างหน้าหลังคำ (เช่น "ยางลบ ") ทำให้ UNIQUE มองว่าไม่ซ้ำ แนะนำครอบด้วย TRIM ก่อนรวม เช่น =TEXTJOIN(", ",TRUE,UNIQUE(TRIM(TOCOL(FILTER(...),1)))) - ถ้าต้องการจัดเรียงรายการก่อนรวม ใช้ SORT ครอบ UNIQUE ได้ เช่น =TEXTJOIN(CHAR(10),TRUE,SORT(UNIQUE(TOCOL(FILTER(...),1)))) ลองเริ่มจากสูตรชุด FILTER + TOCOL + UNIQUE + TEXTJOIN ก่อน จะตอบโจทย์ “รวมเป็นหนึ่งเดียว” และ “ขึ้นบรรทัดใหม่ในช่องเดียวกัน” ได้ครอบคลุมสุดในงานจริงค่ะ

ค้นหา ·
รวมข้อมูลหลายเซลล์เป็นเซลล์เดียว