Automatically translated.View original post

Use TEXTJOIN (together with IF ())🍋

2025/8/5 Edited to

... Read moreถ้าใครกำลังหาวิธีใช้ TEXTJOIN ร่วมกับ IF() เพื่อ “รวมรายการตามเงื่อนไข” ให้มาอยู่ในเซลเดียว บอกเลยว่าทริคนี้ช่วยสรุปตารางได้ไวมาก โดยเฉพาะตอนมีคอลัมน์ CATE (หมวดหมู่) กับ PRODUCT (สินค้า) แล้วอยากแยกผลลัพธ์เป็นรายการยาว ๆ ในช่องเดียว เช่น อยากได้รายชื่อผลไม้ทั้งหมด (fruits) ใน 1 เซล โครงสร้างแนวคิดคือ: ใช้ IF() คัดกรองเฉพาะแถวที่ตรงเงื่อนไข แล้วให้ TEXTJOIN ช่วย “รวมข้อความ” โดยคั่นด้วยตัวคั่นที่เรากำหนดเอง ตัวอย่างสมมติ: คอลัมน์ A = CATE, คอลัมน์ B = PRODUCT - A5:A18 คือหมวดหมู่ (เช่น fruits, vetgetable, meat) - B5:B18 คือสินค้า (เช่น banana, apple, potato, beef) - เซล D2 เราพิมพ์เงื่อนไข เช่น fruits สูตรที่ใช้บ่อย: =TEXTJOIN(", ",TRUE,IF($A$5:$A$18=$D$2,$B$5:$B$18,"")) ความหมายแบบง่าย ๆ - TEXTJOIN(", ", …) = รวมข้อความโดยคั่นด้วย “, ” - TRUE = ไม่เอาค่าที่ว่าง (ignore empty) - IF(...) = ถ้า CATE ตรงกับที่เราต้องการ ให้คืนค่า PRODUCT ถ้าไม่ตรงให้เป็นค่าว่าง ถ้าอยากใส่จำนวน/ลำดับหรือข้อมูลเสริมในผลลัพธ์ เช่น “banana (8)” ก็ทำได้โดยต่อข้อความเพิ่ม เช่น =TEXTJOIN(", ",TRUE,IF($A$5:$A$18=$D$2,$B$5:$B$18&" ("&$C$5:$C$18&")","")) โดยคอลัมน์ C อาจเป็นจำนวนหรือรหัสสินค้า ทริคที่เจอบ่อยเวลาใช้จริง 1) เรื่อง Ctrl+Shift+Enter: ใน Excel รุ่นเก่า สูตรแบบ IF ที่อ้างอิงเป็นช่วง (array) อาจต้องกด Ctrl+Shift+Enter แต่ถ้าเป็น Microsoft 365 โดยมากกด Enter ปกติได้เลย 2) ตัวสะกดหมวดหมู่: ในรูปตัวอย่างมี “vetgetable” (สะกดไม่เหมือน vegetable) ถ้าข้อมูลสะกดไม่ตรง สูตรจะไม่ดึงขึ้นมา แนะนำเช็กให้เหมือนกันทุกแถว หรือใช้การทำความสะอาดข้อมูลก่อน 3) ช่องว่างแฝง: ถ้าข้อมูลมี space ท้ายคำ เช่น "fruits " ให้ลองครอบด้วย TRIM เช่น IF(TRIM(A5:A18)=TRIM(D2),…) 4) อยากให้ขึ้นบรรทัดใหม่ในเซลเดียว: เปลี่ยนตัวคั่นเป็น CHAR(10) แล้วเปิด Wrap Text =TEXTJOIN(CHAR(10),TRUE,IF(...)) สรุปคือ TEXTJOIN + IF เป็นสูตรที่เหมาะมากสำหรับ “ดึงเฉพาะรายการที่ต้องการแล้วรวมไว้ในเซลเดียว” ใช้ได้กับงานสรุปสินค้า, รายชื่อ, แท็ก, หรือทำรายงานตามหมวดหมู่แบบเร็ว ๆ ถ้าใครทำตาราง CATE/PRODUCT อยู่ ลองใช้แล้วจะรู้สึกว่าชีวิตง่ายขึ้นเยอะ