Page 1 of 1
อยากได้สูตรแยกส่วนลดและวันเดือปี
Posted: Sun Aug 18, 2024 1:52 pm
by chon1402
จากไฟล์แนบ คอลัมน์ A เป็นคำอธิบายรายการที่มีข้อมูลไม่เหมือนกัน อยากจะแยก วันเดือนปี ออกมาไว้ในคอลัมน์ B เป็นText และส่วนลดแยกออกมาไว้ในคอลัมน์ C จึงอยากจะรบกวนขอสูตรแยกรายการดังกล่าวค่ะ
**ใช้ Excel 365 MSO**
ขอบคุณค่ะ
Description.xlsx
Re: อยากได้สูตรแยกส่วนลดและวันเดือปี
Posted: Sun Aug 18, 2024 5:33 pm
by snasui
ตัวอย่างสูตรครับ
เซลล์ B3 คีย์
=LET(p,"(\d{2}/\d{2}/\d{2}\s)|(-\d{2}-[A-Z]{3}-\d{2}\s)",pp,"(\d{2}/\d{2})",ppp,"(\d{2}%)|(\d{1}|\d{2})\.(\d{1}%|\d{2}%)",q,REGEXEXTRACT(SUBSTITUTE(A3:A13,"- ","-"),p),HSTACK(IFERROR(IF(LEFT(q)="-",MID(q,2,10),q),TEXT(EOMONTH("01/"®EXEXTRACT(A3:A13,pp),0),"dd/MM/yy")),IFERROR(REGEXEXTRACT(A3:A13,ppp),"")))
Enter
หรือ
=HSTACK(MAP(A3:A13,LAMBDA(a,IFERROR(TAKE(REGEXEXTRACT(a,"(\d{2}/\d{2}/\d{2})|(\d{2}-[A-Za-z]{3}-\d{2})",1),,-1),TEXT(EOMONTH("01/"®EXEXTRACT(a,"(\d{2}/\d{2})"),0),"dd/MM/yy")))),MAP(A3:A13,LAMBDA(a,IFERROR(REGEXEXTRACT(a,"(\d{2}%)|(\d{1}|\d{2})\.(\d{1}%|\d{2}%)"),""))))
Enter
Re: อยากได้สูตรแยกส่วนลดและวันเดือปี
Posted: Sun Aug 18, 2024 11:05 pm
by chon1402
นำสูตรไปใส่ในเซลล์ B3 แล้ว ขึ้น Error #NAME? ค่ะ
Description.xlsx
Re: อยากได้สูตรแยกส่วนลดและวันเดือปี
Posted: Mon Aug 19, 2024 6:17 am
by snasui
เป็นไปได้ว่ายังไม่ Support แต่เท่าที่ดูใน Web ของ Microsoft เหมือนว่าจะใช้ได้ทุก Build แล้วครับ
https://support.microsoft.com/en-us/off ... a9e783ff57
ลอง Update ดูก่อน หากยังใช้งานไม่ได้ลองแจ้งมาอีกรอบคงต้องใช้สูตรอื่นแทนครับ
Re: อยากได้สูตรแยกส่วนลดและวันเดือปี
Posted: Tue Aug 20, 2024 7:10 pm
by norkaz
...
ในระดับการทำงานจริง ควร Clean Data ให้เป็นรูปแบบเดียวกัน เช่นวันที่คีย์แบบใดควร
คีย์แบบเดียวกันทั้งหมด การคีย์ไม่เหมือนกัน ต้องดักสูตรเยอะ ไม่ค่อยเหมาะกับการทำงาน
จริงครับ
ลองปรับไปแบบนี้
B3
=IFERROR(LOOKUP(9^9,IF(COUNT(SEARCH(" ",MID(A3,SEARCH("/"&{23,24}&" ",A3)-5,8))),EOMONTH(MID(MID(A3,SEARCH("/"&{23,24}&" ",A3)-5,8),4,5),0),MID(A3,SEARCH("/"&{23,24}&" ",A3)-5,8)+0)),MID(A3,LOOKUP(999,SEARCH({23,24}&" "&"-",A3))+5,9)+0)
Copy ลงไป
C3
=IFERROR(MID(MID(A3,SEARCH("%",A3)-6,SEARCH("%",A3)-(SEARCH("%",A3)-6)+2),AGGREGATE(15,6,SEARCH({0,1,2,3,4,5,6,7,8,9},MID(A3,SEARCH("%",A3)-6,SEARCH("%",A3)-(SEARCH("%",A3)-6)+2)),1),9),"")
Copy ลงไป
**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***
แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
...
Re: อยากได้สูตรแยกส่วนลดและวันเดือปี
Posted: Fri Aug 23, 2024 11:49 pm
by Bo_ry
MS365 Insider
=IFNA(--REGEXEXTRACT(A3:A13,{"(\d+((-[A-Z]{3}-)|/?[\d]*/)+\d{2,})(?!.+(?1))","[\d\.]+%"}),"")
MS365
=LET(z,A3:A13,HSTACK(MAP(z,LAMBDA(v,LET(L,LAMBDA(x,TEXTBEFORE(x&TEXTAFTER(v,x,-1)," ")),y,IFNA(L("/"),L("-")),-LOOKUP(1,-TEXTAFTER(" "&RIGHT(TEXTBEFORE(v,y,-1)&y,{5,8,9})," ",-1))))),IFNA(TEXTAFTER(TEXTBEFORE(z,"%"),{" ","ลด"},-1)%,"")))
Re: อยากได้สูตรแยกส่วนลดและวันเดือปี
Posted: Sat Aug 24, 2024 10:31 pm
by chon1402
ไม่สามารถอัพเดทได้ค่ะอาจารย์เนื่องจากที่บริษัทล็อกไว้ไม่ให้อัพเดทค่ะ
Re: อยากได้สูตรแยกส่วนลดและวันเดือปี
Posted: Sat Aug 24, 2024 10:32 pm
by chon1402
norkaz wrote: Tue Aug 20, 2024 7:10 pm
...
ในระดับการทำงานจริง ควร Clean Data ให้เป็นรูปแบบเดียวกัน เช่นวันที่คีย์แบบใดควร
คีย์แบบเดียวกันทั้งหมด การคีย์ไม่เหมือนกัน ต้องดักสูตรเยอะ ไม่ค่อยเหมาะกับการทำงาน
จริงครับ
ลองปรับไปแบบนี้
B3
=IFERROR(LOOKUP(9^9,IF(COUNT(SEARCH(" ",MID(A3,SEARCH("/"&{23,24}&" ",A3)-5,8))),EOMONTH(MID(MID(A3,SEARCH("/"&{23,24}&" ",A3)-5,8),4,5),0),MID(A3,SEARCH("/"&{23,24}&" ",A3)-5,8)+0)),MID(A3,LOOKUP(999,SEARCH({23,24}&" "&"-",A3))+5,9)+0)
Copy ลงไป
C3
=IFERROR(MID(MID(A3,SEARCH("%",A3)-6,SEARCH("%",A3)-(SEARCH("%",A3)-6)+2),AGGREGATE(15,6,SEARCH({0,1,2,3,4,5,6,7,8,9},MID(A3,SEARCH("%",A3)-6,SEARCH("%",A3)-(SEARCH("%",A3)-6)+2)),1),9),"")
Copy ลงไป
**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***
แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
...
ลองนำไปใส่แล้วสามารถทำได้แล้วค่ะ ขอบคุณมากนะคะ