Page 1 of 1
list รายการตามเงื่อนไข เอามาใส่ในเซลล์เดียว
Posted: Sat Nov 28, 2020 11:32 pm
by biggrape
ผมแนบไฟล์ตัวอย่างข้อมูล มาให้ด้วยครับ
รบกวนช่วยแนะนำด้วยนะครับ
Re: list รายการตามเงื่อนไข เอามาใส่ในเซลล์เดียว
Posted: Sun Nov 29, 2020 6:45 am
by snasui
กรุณา Update Version ของ Excel ที่ใช้จริง ณ ปัจจุบันตาม Link นี้ด้วยครับ
https://snasui.com/viewtopic.php?f=6&p=103177#p103177
Re: list รายการตามเงื่อนไข เอามาใส่ในเซลล์เดียว
Posted: Thu Dec 03, 2020 12:08 am
by biggrape
update เรียบร้อยแล้วครับ
Re: list รายการตามเงื่อนไข เอามาใส่ในเซลล์เดียว
Posted: Thu Dec 03, 2020 10:15 am
by logic
แบบนี้ไหมครับ
K5 =IFERROR(INDEX($B:$B,AGGREGATE(15,6,ROW($B$6:$B$13)/(INDEX($C$6:$G$13,0,MATCH($I5,$C$5:$G$5,0))<>""),COLUMNS($K5:K5))),"") คัดลอกไปขวาแล้วคัดลอกลง
I5 =SUBSTITUTE(TRIM(SUBSTITUTE(K5&","&L5&","&M5&","&N5&","&O5,","," "))," ",",") คัดลอกลง
Re: list รายการตามเงื่อนไข เอามาใส่ในเซลล์เดียว
Posted: Thu Dec 03, 2020 7:16 pm
by biggrape
ขอบคุณครับ แต่มีประเด็นนิดหน่อย คือ สูตรแรก ต้อง manual copy ไปไว้ใน Column ล่วงหน้า โดยที่ไม่รู้ว่าจะต้อง copy ไว้กี่ Column และสูตรที่ 2 ก็ต้องใส่ Refer column เผื่อไว้ในสูตรซึ่งก็ไม่รู้อยู่ดีว่าจะต้องใส่เผื่อไปเท่าไหร่
Re: list รายการตามเงื่อนไข เอามาใส่ในเซลล์เดียว
Posted: Thu Dec 03, 2020 8:52 pm
by Bo_ry
C16:G23
=IF(C6,$B6&IF(C17="","",","&C17),C17&"")
J5
=INDEX($C$16:$G$16,MATCH(I5,$C$5:$G$5,))
ถ้าอยากได้จบในสูตรเดียวต้องมี MS365 Textjoin
=TEXTJOIN(",",,REPT($B$6:$B$13,INDEX($C$6:$G$13,,MATCH(I5,$C$5:$G$5,))>0))
หรือใช้ UDF
=TJ($C$6:$G$13,I5)
Code: Select all
Function TJ(rn As Range, cr As Range) As String
Dim r As Long, c As Long, t As String
r = rn.Row: c = rn.Column
Do Until Cells(r - 1, c) = cr
c = c + 1
Loop
For r = rn.Row To rn.Row + rn.Rows.Count
If Cells(r, c) > 0 Then t = t & "," & Cells(r, rn.Column - 1)
Next
TJ = Mid(t, 2)
End Function
Re: list รายการตามเงื่อนไข เอามาใส่ในเซลล์เดียว
Posted: Thu Dec 03, 2020 9:37 pm
by snasui
ขออภัยที่ต้องแจ้งว่า กรณีการเขียน Code ควรให้ผู้ถามเป็นผู้เขียนมาเองก่อนเสมอเพื่อให้เป็นไปตามกฎการใช้บอร์ดข้อ 5 ด้านบน
สามารถแจก link เพื่อให้ศึกษา ลองเขียนกันมาเองก่อนได้ครับ
Re: list รายการตามเงื่อนไข เอามาใส่ในเซลล์เดียว
Posted: Fri Dec 04, 2020 10:42 am
by biggrape
ขอบคุณมากครับ คุณ Bo_ry แค่สูตร IF อันแรก ก็น่าจะเอาไปประยุกต์ต่อได้แล้วครับ คงไม่ต้องใช้ VBA ครับ