Page 1 of 1
การ List รายการใหม่จาก 2 columns
Posted: Tue Feb 27, 2018 2:16 pm
by Peterkrubpom
เรียนอาจารย์ครับ
ผมมีคำถามคือ ผมมี List รายการสินค้าฐานข้อมูลอยู่แล้ว 1 ชุด Column A-C (ลำดับ, Barcode, ชื่อสินค้า) และพอมีการอัพเดท ทางทีมงานจะส่งมาให้ผมโดยส่งมาทั้งชุดใหม่ (รวมของเก่า)ไปด้วยครับ ทำให้ผมเอามา List ใน Column E-F (Barcode และชื่อสินค้า
อาจารย์พอมีสูตร การList รายการที่ไม่ซ้ำกันระหว่าง 2 Columns นี้ไหมครับ โดยให้มา List ใน Column G-H นะครับผม
ขอบพระคุณมากครับผม
ปีเตอร์
Re: การ List รายการใหม่จาก 2 columns
Posted: Tue Feb 27, 2018 2:35 pm
by puriwutpokin
ใช้เมนู data ครับ โดยเอาข้อมูลทั้ง 2 มาต่อกัน แล้วเลือกข้อมูลทั้งหมด แล้วเลือกเมนูตามภาพครับ
Re: การ List รายการใหม่จาก 2 columns
Posted: Tue Feb 27, 2018 3:12 pm
by Peterkrubpom
ขอบพระคุณครับ แต่พอมีวิธีใส่สูตรไหมครับผม
Re: การ List รายการใหม่จาก 2 columns
Posted: Tue Feb 27, 2018 3:36 pm
by logic
แบบสูตรลองดูแบบนี้ครับ
D2 กรอกเลข 0
D3 =IF(COUNTIF($B$3:B3,B3)=1,LOOKUP(9.99999999999999E+307,D$2:D2)+1,"") คัดลอกสูตรลงด้านล่าง
D1 =LOOKUP(9.99999999999999E+307,D2:D20000)
E2 =IF(ROWS(E$3:E3)>$D$1,"",LOOKUP(ROWS(E$3:E3),$D$3:$D$20000,B$3:B$20000)) คัดลอกสูตรไปเซลล์ F2 แล้วคัดลอกสูตรลงด้านล่าง
Re: การ List รายการใหม่จาก 2 columns
Posted: Tue Feb 27, 2018 3:40 pm
by puriwutpokin
Peterkrubpom wrote: Tue Feb 27, 2018 3:12 pm
ขอบพระคุณครับ แต่พอมีวิธีใส่สูตรไหมครับผม
เป็นสูตรมันจะหนักประมวลผลช้านะครับ อาจต้องสร้างเป็น Range Name ช่วยครับ สูตรตามนี้ครับ
ที่ G3=IFERROR(IFERROR(INDEX(B$3:B$3000,SMALL(IF(FREQUENCY(IF(B$3:B$3000<>"",MATCH(B$3:B$3000,B$3:B$3000,0)),ROW(B$3:B$3000)-ROW(B$3)+1),ROW(B$3:B$3000)-ROW(B$3)+1),ROWS(G$3:G3))),INDEX(E$3:E$3000,SMALL(IF(FREQUENCY(IF(E$3:E$3000<>"",MATCH(E$3:E$3000,E$3:E$3000,0)),ROW(E$3:E$3000)-ROW(E$3)+1),ROW(E$3:E$3000)-ROW(E$3)+1),ROWS(G$3:G3)))),"") กด Ctrl+Shift+Enter ลากไปขวาและลงล่างครับ สูตร จะช้าเพราะข้อมูลบรรทัดหลักพันขึ้นก็ หน่วงแล้วครับ ลองปรับเป็น Range Name ช่วยครับ
Re: การ List รายการใหม่จาก 2 columns
Posted: Tue Feb 27, 2018 6:24 pm
by Peterkrubpom
ขอบพระคุณท่านอาจารย์มากๆๆๆๆ ครับผม
Re: การ List รายการใหม่จาก 2 columns
Posted: Tue Feb 27, 2018 8:34 pm
by Peterkrubpom
อาจารย์ครับ สูตรนี้เป็นสูตรที่ List ทุกรายการที่ไม่ซ้ำกันออกมาอย่างละ 1 รายการหรือไม่ครับผม มีแบบ List เฉพาะรายการที่ไม่ซ้ำเลยไหมครับผม
ขอบพระคุณครับผม
Re: การ List รายการใหม่จาก 2 columns
Posted: Tue Feb 27, 2018 9:03 pm
by snasui

ตัวอย่างสูตรตามด้านล่างครับ
- ที่ D3 คีย์
=COUNTIF($E$3:$E$2074,B3)
Enter > Copy ลงด้านล่าง
- ที่ G3 คีย์
=COUNTIF($B$3:$B$2073,E3)
Enter > Copy ลงด้านล่าง
ผลลัพธ์ที่เป็น 0 คอลมน์ D และ G คือข้อมูลที่ไม่ซ้ำกันครับ
Re: การ List รายการใหม่จาก 2 columns
Posted: Tue Feb 27, 2018 9:17 pm
by Peterkrubpom
ได้แล้วครับ อาจารย์ แต่ขอเพิ่มนิดครับ หากอยากได้ให้มัน List ออกมาเป็น Barcode ที่แตกต่าง เรียงลงมาเลยได้ไหมครับผม เช่นหากเรามีที่ต่างจากเดิม 3 รายการให้โชว์เฉพาะ 3 รายการนี้น่ะครับผม
ขอบพระคุณมากน่ะครับ
ปล. ผมเคยเรียนกับอาจารย์ที่ Carabao Dange ครับตอนนั้นอาตารย์โดนเชิญไปสอนน่ะครับ ชอบมาก
Re: การ List รายการใหม่จาก 2 columns
Posted: Tue Feb 27, 2018 9:46 pm
by snasui

ตัวอย่างสูตรตามด้านล่างครับ
- ที่ L1:L2 คีย์
Range1, Range2 ตามลำดับ
- ที่ M1 คีย์
=SUMPRODUCT(--ISNA(MATCH(B3:B2073,E3:E2074,0)))
Enter > Copy ลงด้านล่างไปยัง M2
- ที่ M3 คีย์
=SUM(M1:M2)
Enter
- ที่ N1 คีย์
=SUM(M$1:M1)-M1+1
Enter > Copy ลงด้านล่างไปยัง N2
- ที่ I3 คีย์
=IF(ROWS(I$3:I3)>$M$3,"",LOOKUP(ROWS(I$3:I3),$N$1:$N$2,$L$1:$L$2))
Enter > Copy ลงด้านล่าง
- ที่ G3 คีย์
=IF(ROWS(G$3:G3)>$M$3,"",CHOOSE(MATCH($I3,$L$1:$L$2,0),INDEX(B$3:B$2073,SMALL(IF(ISNA(MATCH($B$3:$B$2073,$E$3:$E$2074,0)),ROW($B$3:$B$2073)-ROW($B$3)+1),COUNTIF($I$3:$I3,$I3))),INDEX(E$3:E$2074,SMALL(IF(ISNA(MATCH($E$3:$E$2074,$B$3:$B$2073,0)),ROW($E$3:$E$2074)-ROW($E$3)+1),COUNTIF($I$3:$I3,$I3)))))
Ctrl+Shift+Enter > Copy ไปยัง H3 แล้ว Copy ลงด้านล่าง
!
| Note: Ctrl+Shift+Enter
เป็นการสร้างสูตร Array โดยสามารถเลือกดำเนินการตามข้อ 1 หรือ 2 ด้านล่าง
- กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น
Ctrl และ Shift พร้อมกันค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
- กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน
จากนั้นกดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วตามด้วย Enter เพื่อสร้างเป็นสูตร Array
- หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)}
ปีกกานี้ไม่สามารถคีย์เข้าไปเอง จะต้องมาด้วยการกดแป้น Ctrl+Shift+Enter เท่านั้น
ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
- การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง
|