Page 1 of 1

การหาข้อความวันที่ปนอยู่ในรูปแบบตัวอักษร แบบมีเงือนไข

Posted: Mon Jun 29, 2015 9:39 am
by nattabright
มีข้อความที่บันทึกเป็นตัวอักษรอยู่หนึ่งคอลัมน์นะครับ ในนั้นจะมีวันที่ปนอยู่ด้วย เช่น "จัดส่งให้แล้วเมื่อ 12/05/57 ปลายทางหาดใหญ่" อยากจะให้แสดงผล ข้อความที่มีวันที่เก่ากว่า3, 6 เดือน นับจากเดือนที่อ้างอิง (ในตัวอย่างคือช่อง D2) เช่น อยากให้หาข้อความที่มีวันที่เก่ากว่า 6 เดือนนับจาก 1 มีนาคม 58 ก็จะแสดงข้อความที่มีวันที่ปนตั้งแต่ 31/08/57 ย้อนไปไม่จำกัดเป็นต้นครับ
ตัวอย่าง
ช่อง A2 จัดส่งให้แล้วเมื่อ 12/05/57 ปลายทางหาดใหญ่
ช่อง A3 รอคอนเฟิร์ม 20/01/58
ช่อง A4 ได้รับแล้วรอเปลี่ยนของ 16/11/57

เงื่อนไขที่หา ค้นหาวันที่เก่ากว่า 3 เดือนนับจากเดือน มี.ค. 58
ผลที่แสดงตามเงื่อนไข B2: 12/05/57 B3:N/A B4:16/11/57

เงื่อนไขที่หา ค้นหาวันที่เก่ากว่า 6 เดือนนับจากเดือน มี.ค. 58
ผลที่แสดงตามเงื่อนไข C2: 12/05/57 C3:N/A C4:N/A

ปัจจุบันผมใช้ Ctrl+F แล้วก็ไล่หาไปที่ละเดือนๆ เช่น 11/57,10/57,9/57..... ไปเรื่อยๆ จนถึงปี 56,55,54 เลยครับ (ข้อมูลเก็บไม่เกิน 5 ปีครับ)
ตัวอย่างการหาวันที่ปนอยู่ในข้อความ.xlsx

Re: การหาข้อความวันที่ปนอยู่ในรูปแบบตัวอักษร แบบมีเงือนไข

Posted: Mon Jun 29, 2015 12:08 pm
by DhitiBank
ลองแบบนี้ครับ
ที่ B2 คีย์

=IF($D$2-MID($A2,MIN(IF(ISNUMBER(SEARCH({1;2;3;4;5;6;7;8;9;0},$A2)),SEARCH({1;2;3;4;5;6;7;8;9;0},$A2))),8)>90,
MID($A2,MIN(IF(ISNUMBER(SEARCH({1;2;3;4;5;6;7;8;9;0},$A2)),SEARCH({1;2;3;4;5;6;7;8;9;0},$A2))),8),"N/A")

แล้วกด Ctrl+Shif ค้างไว้ แล้วกด Enter (หากกดถูกจะเห็นเครื่องหมายปีกกาคร่อมสูตรอยู่)

จากนั้นคัดลอกสูตรไปยัง C2 แล้วเปลี่ยนเลข 90 สีแดง ให้เป็น 180
แล้วคัดลอกสูตรลงด้านล่างครับ

ปล. วันที่ควรใส่ปีเป็นปี ค.ศ. นะครับ เพราะโปรแกรมจะคำนวณโดยอิงจากปี ค.ศ. เป็นหลัก ลองดูจาก formula bar ก็จะเห็นว่า หากคีย์ 1/1/57 โปรแกรมจะเข้าใจว่าเป็นวันที่ 1/1/1957 ซึ่งอาจทำให้เกิดข้อผิดพลาดในภายหลัง ทางที่ดีคือควรคีย์เป็น ค.ศ. และตั้งรูปแบบวันที่ให้แสดงเป็น พ.ศ. ครับ แต่สำหรับกรณีนี้ หากไม่กังวลเรื่องความคลาดเคลื่อนมากนักก็ไม่ต้องเปลี่ยนครับ

Re: การหาข้อความวันที่ปนอยู่ในรูปแบบตัวอักษร แบบมีเงือนไข

Posted: Mon Jun 29, 2015 4:14 pm
by nattabright
ก่อนอื่นต้องขอขอบคุณมากๆเลยนะครับ มันช่วยได้เยอะมากครับ แต่เนื่องจากข้อมูลมี มากกว่า 5000 ข้อมูล จึงมีบางส่วน Error (แสดงผล #VALUE!)อยู่ครับ ผมหาอยู่ตั้งนานว่าเพราะอะไร ในที่สุดก็รู้สาเหตุครับ เนื่องจาก มีตัวเลขปนอยู่ในข้อความนอกเหนือจากนั้นด้วยครับ ตัวอย่างเช่น จัดส่งครั้งที่ 1 เมื่อ 12/05/57 หรือบางข้อความก็ มีเลขติดกับชื่อเลย เช่น สถานีขนส่ง 1 หรือ สถานีขนส่ง 2 เชียงราย เป็นต้นครับ แบบนี้ก็จะไม่แสดงผลตามสูตรครับผม

Re: การหาข้อความวันที่ปนอยู่ในรูปแบบตัวอักษร แบบมีเงือนไข

Posted: Mon Jun 29, 2015 4:40 pm
by DhitiBank
ลองปรับสูตรใหม่เป็น
B2 คีย์
=IF($D$2-MID(A2,FIND("/",A2)-2,8)>90,MID(A2,FIND("/",A2)-2,8),"N/A")
Enter ครับ

Re: การหาข้อความวันที่ปนอยู่ในรูปแบบตัวอักษร แบบมีเงือนไข

Posted: Tue Jun 30, 2015 11:26 am
by nattabright
ยอดเยี่ยมครับ มีสูตรนี้ใช้เวลาเรียงข้อมูลนับเป็นวินาทีได้เลย ขอบคุณมากครับ