Page 1 of 1
สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Tue Mar 02, 2021 4:55 pm
by GobWeravong
เรียน ทุกท่านที่เคารพ มีเรื่องมาปรึกษาครับ พอดีค้นหาใน internet แล้วยังไม่สามารถหาการจับคู่ความคล้ายของข้อมูลได้ครับ
เนื่องจากมีข้อมูลแถว ฺB1 ที่เป็นที่อยู่ลูกค้า ซึ่งอาจจะมีเป็นหมื่นๆบรรทัด และแต่ละลูกค้ามีการคีย์แต่ต่างกันไม่เป็น Format ใดๆ
และบางครั้งลูกค้าเดียวกัน ก็มีการคีย์ชื่อที่มีรูปแบบแตกต่างกัน เช่น เว้นวรรค์แตกต่าง หรือ วางชื่อลูกค้าในตำแหน่งหน้าสุด หรือตรงกลาง หรือขวาสุด ก็เป็นได้ครับ หรือบางที่มีชื่อตึกมาด้วย ดังนั้นจึงอยากทราบมีวิธีการใดเพื่อให้ได้ผลลัพธ์ใน column E ที่มาจัดเรียงข้อมูลใหม่ ที่มีความคล้ายๆกันของข้อมูลมาวางและเรียงใหม่ ตามไฟล์แนบ และทำแถบสีให้เห็นชัดๆว่า แถบสีเหลืองคือชุดที่1 และชุดที่2คือแถบสีส้ม เรียงกันไปเรื่อยๆจนจบข้อมูลครับ (ข้อมูลจริงมีประมาณ10000 บรรทัดครับ) อาจจะยากตรงที่มีชื่อจังหวัด และชื่อเขตมาเกี่ยวข้องครับ แต่จะไม่เน้นการจับคู่ของแขวง เขต และจังหวัดครับ จะเน้นการจับคู่ชื่อตึกและชื่อบริษัทครับ แต่ส่วนใหญ่ชื่อบริษัทมักจะอยู่หน้าสุด หรือถัดมาครับ ชื่อบริษัทไปไว้หลังสุดมีบ้างครับ ตัวอย่าง ข้อมูล YKK ชั้น 19 อาคาร central ห้วยขวาง กทม. หรือ [Main Link] YKK ชั้น 19 อาคาร central ห้วยขวาง กทม. หรือ [ฺBackup Link]YKK ชั้น 19 อาคาร central ห้วยขวาง กทม. รายละเอียดตามไฟล์แนบครับ
ขอขอบคุณทุกท่านมากๆครับ
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Tue Mar 02, 2021 8:49 pm
by Supachok
1. ต้องมีการกำหนด ชื่อลูกค้าให้ชัดเจนใน excel รู้ว่าจะหาอะไร
2. มีจำนวนเท่าไรที่จะหา Unique word
step ต่อถึงเป็นเรื่องการจัดเรียง และใช้สีกำหนด
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Tue Mar 02, 2021 9:23 pm
by GobWeravong
เรียน คุณ Supachok เดี๋ยวผมลองกำหนด 3 หัวข้อที่แจ้งมาอีกครั้งครับ และจะจัดส่งไฟล์ใหม่กลับมาอีกรอบครับ
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Wed Mar 03, 2021 12:10 am
by GobWeravong
ผมได้ลองจัดทำไฟล์มาใหม่อีกรอบครับ โดยมีการกำหนดตัวต้้งต้นครับ และข้อมูลจริงอาจจะมีประมาณ 15000 บรรทัดครับ ขอบคุณมากๆครับ
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Wed Mar 03, 2021 8:42 am
by Supachok
1. ต้องมีการกำหนด ชื่อลูกค้าให้ชัดเจนใน excel รู้ว่าจะหาอะไร
2. มีจำนวนเท่าไรที่จะหา Unique word
เช่น ยิ้มยัม , PHYY \ 10 รายการ
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Wed Mar 03, 2021 9:28 pm
by GobWeravong
เรียน คุณ Supachok น่าจะยากเลยครับ เนื่องจากเมื่อ10-20 ปีที่ผ่านมา ทางบริษัทผม มีการเก็บข้อมูลมานานครับ และมีจำนวนบรรทัดประมาณ 6 หมื่นบรรทัด ผมจึงจะหาวิธีการจัดหาคำที่คล้ายกันเพื่อมาเรียงลำดับให้อยู่ในชุดเดียวกัน เพื่อทำการไล่ตรวจสอบข้อมูลเหล่านี้ใหม่ครับ ซึ่งข้อมูลจริงที่จัดเก็บ ไม่มีรูปแบบใดๆเลยครับ และคาดว่ามีหลายๆคนจัดเก็บครับ
ขอบคุณมากๆครับ
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Wed Mar 03, 2021 9:51 pm
by logic
เรื่องเรียงทำแบบง่ายๆ ดูก่อนครับ
กรองแล้วใส่หมายเลขกำกับในคอลัมน์ติดกัน คือ ชุดเดียวกันเลขเดียวกัน พอทำหมดแล้วค่อยเรียงข้อมูลยึดคอลัมน์หมายเลขเป็นหลัก
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Wed Mar 03, 2021 11:03 pm
by Bo_ry
ใช้ Power Query Fuzzy Merge
https://support.microsoft.com/th-th/off ... 3962b90649
แต่คนละภาษามาจับกันไม่ได้นะ
PHYY CAPITAL <> พีเอชวายวาย แคปปิตอล
Code: Select all
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
ChangedType = Table.TransformColumnTypes(Source,{{"Code", type text}, {"Name", type text}}),
FuzzyMerged = Table.FuzzyNestedJoin(ChangedType, {"Name"}, ChangedType, {"Name"}, "M", JoinKind.LeftOuter, [IgnoreCase=true, IgnoreSpace=true, Threshold=0.5]),
AddedIndex = Table.AddIndexColumn(FuzzyMerged, "Index", 1, 1, Int64.Type),
SelectColumn = Table.SelectColumns(AddedIndex,{"Index","M"}),
ExpandedM = Table.ExpandTableColumn(SelectColumn, "M", {"Code", "Name"}, {"Code", "Name"}),
RemovedDuplicates = Table.Distinct(ExpandedM, {"Code", "Name"})
in
RemovedDuplicates
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Wed Mar 03, 2021 11:15 pm
by GobWeravong
เรียน คุณ logic ขอบคุณมากๆครับ ตอนแรกก็ได้ทำการเรียงแล้วครับ สามารถช่วยได้ลำดับหนึ่งครับ อาจจะต้องไล่ลบคำว่า บริษัท, บ. และที่ไม่สำคัญออกไป แล้วเรียงก็จะได้ตามที่คุณ Logic แนะนำครับ
แต่คราวนี้จะเหลือวิธีการจับคู่ครับ โดยตอนนี้ผมลองใช้ text to column เพื่อแยกคำทั้งหมดด้วย space bar ครับ
และขั้นตอนต่อมา คือเอาคำว่าแยกนี้มาตั้งต้นเพื่อเป็นชื่อลูกค้าแล้วกลับไปดึงค่ากลับมา โดยสลับ column ในการค้นหา และใช้สูตรการดึงค่าหรือการ lookup แบบ Array ที่เอาค่าที่ซ้ำๆมาแสดงทั้งหมดครับ แต่ค่อนข้างสับสนมากๆครับ จะลองทำดูครับ
หากมีวิธี lookup ที่สามารถดึงคำคล้ายๆกันออกมาได้ โปรดชี้แนะด้วยครับ และการ lookup สามารถดึงค่าที่คล้ายๆกันมาเรียงวางต่อกันได้ครับ
ปัจจุบันผมใช้สูตรนี้ในการ lookup ชื่อลูกค้า(โดยชื่อลูกค้าชื่อเดียวกัน) แต่ค่าด้านหลังที่ไม่ซ้ำกันมาวางเรียงกันครับ
{=IFERROR(INDEX(HQ_TextColum!$C$1:$C$8,SMALL(IF(H1=HQ_TextColum!$A$1:$C$8,ROW(HQ_TextColum!$A$1:$C$8)-ROW($H$1)),1)),0)}
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Wed Mar 03, 2021 11:25 pm
by GobWeravong
เรียน คุณ Bo_ry ขอบคุณมากๆครับ
เดี๋ยวผมจะลองศึกษาดูตามที่แนะนำมาครับ (หากชื่อลูกค้าคนละภาษา ก็อาจจะยกเว้นไปก่อนได้ครับ)
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Wed Mar 03, 2021 11:43 pm
by GobWeravong
เรียน คุณ Bo_ry ครับ การใช้งาน Power Query Fuzzy Merge ผมไม่เคยใช้มาก่อนครับ ลองอ่านหัวข้อ "การสนับสนุนการจับคู่ที่ไม่มีการเปลี่ยนแปลงสำหรับการรับ & (Power Query)" และหัวข้อ "เริ่มต้นใช้งาน Power Query" ก็ไม่เข้าใจครับ ค่อนข้างยากมากๆ จึงไม่แน่ใจว่าผมต้องเอา code Select All ที่คุณ Bo_ry เขียนมา ไปวางตรงไหน และทำการ Run อย่างไรครับ
แต่พอคลิกที่ตารางตัวอย่างที่คุณทำมา จะมี Menu พิเศษ Table Tool กับ Query Tool แสดงออกมาด้านบนสุดครับ
ลองกด Edit ที่ Query Tool ดู จะเห็น source และ change type ตารางที่คุณดึง และสร้างไว้ครับ
ผมจะลองทดสอบได้ยังไงครับ ว่า source จะกลายเป็นตารางผลลัพท์ที่คุณสร้างได้อย่างไรครับ
ขอบคุณมากๆครับ
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Thu Mar 04, 2021 10:23 am
by GobWeravong
ผมลองป้อนข้อมูล source data เพิ่มลงไป แล้วกด refresh มันจะฟ้อง error ดังนี้ครับ
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Thu Mar 04, 2021 10:38 am
by GobWeravong
ตรวจสอบใน Advance Editor มีการใส่ code ตามที่คุณ Bo_ry ได้ใส่ให้แล้วครับ แต่เมื่อเพิ่มหรือเปลี่ยนข้อมูล source ใหม่ แล้ว กด refresh จะขึ้น error ตามที่ระบุด้านบนครับ
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Thu Mar 04, 2021 10:43 am
by GobWeravong
เข้าไปดูใน edit จะ error ตามภาพครับ
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Thu Mar 04, 2021 11:12 am
by Bo_ry
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Thu Mar 04, 2021 12:42 pm
by GobWeravong
เรียน คุณ Bo_ry น่าจะยากมากๆครับ บริษัทผมจำกัด version และไม่สามารถติดตั้งได้ครับ เพราะติดสิทธิ์เฉพาะ adminจึงไม่สามารถลงโปรแกรมอะไรทั้งสิ้นครับ พอจะมีแนวทางอื่นไหมครับ ขอบคุณครับ
Re: สอบถามการจัดลำดับข้อมูลมาเรียงกัน โดยนำข้อมูลที่มีความสัมพันธ์ใกล้เคียงมาลำดับเรียงใหม่ และใส่แถบสีคั้นเป็นช่วงๆ
Posted: Thu Mar 04, 2021 4:25 pm
by GobWeravong
ตอนนี้ผมลองใช้ text to column เพื่อแยกคำทั้งหมดด้วย space bar ครับ
และขั้นตอนต่อมา คือเอาคำว่าแยกนี้มาตั้งต้นเพื่อเป็นชื่อลูกค้าแล้วกลับไปดึงค่ากลับมา โดยสลับ column ในการค้นหา และใช้สูตรการดึงค่าหรือการ lookup แบบ Array ที่เอาค่าที่ซ้ำๆมาแสดงทั้งหมดครับ เดี๋ยวจะมาสอบถามเพิ่มเติมครับ ขอบคุณครับ