Page 1 of 2

การแสดงผล โดยค่าไม่ซ้ำ

Posted: Mon Jul 07, 2014 3:57 pm
by saynam
ขอสอบถามครับ

มีข้อมูลแบบนี้

01
02
01
02
02
02

อยากให้แสดงในคอลัมน์ใหม่

01
02

ต้องทำอย่างไรครับ ทำมาหลายวันตอนนี้จนปัญญาแล้วครับ

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Mon Jul 07, 2014 4:38 pm
by akung
1. ใส่หัวให้ข้อมูลก่อน เช่น รหัสลูกค้า
2. ไปที่ Data>Filter>Advance Filter
3. เลือก Copy to another location
4. List range : ให้เลือกข้อมูลที่ต้องการทำ
5. Copy to: ให้เลือก Cell ที่ต้องการแสดงผลลัพธ์ สมมุติเลือก D1
6. ให้ติ๊กถูกที่ช่อง Unique records only
7. กด Ok เป็นอันเสร็จสิ้น

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Mon Jul 07, 2014 4:49 pm
by saynam
ข้อมูลมีการเปลียนแปลงตลอดอ่ะครับ พอจะมีสูตรในการคำนวณหรือไม่ครับ

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Mon Jul 07, 2014 5:48 pm
by joo
:D ลองแนบตัวอย่างไฟล์มาหน่อยครับจะได้อ้างอิงเซลล์ได้ถูกต้อง
เบื้องต้นลองแบบนี้ดูครับ ถ้าข้อมูลจัดเก็บเป็น Text อยู่ที่ A1:A6 ที่เซลล์ B1 คีย์ =LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($A$1:$A$6,SMALL(IF(FREQUENCY(MATCH($A$1:$A$6,$A$1:$A$6,0),ROW($A$1:$A$6)-ROW($A$1)+1),ROW($A$1:$A$6)-ROW($A$1)+1),ROWS(B$1:B1)))))
กดแป้น Ctrl+Shift+Enter พร้อมกันแล้วคัดลอกลงล่าง

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Tue Jul 08, 2014 9:45 am
by saynam
Stock summary นะครับ ที่คอลัมน์ H (Lot) ผมต้องการจัดเรียงใหม่ที่คอลัมน์ M เพื่อจะแสดงรายการ Lot ที่มีในสินค้านั้นๆ เพื่อรวมจำนวน

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Tue Jul 08, 2014 11:23 am
by Totem
saynam wrote:Stock summary นะครับ ที่คอลัมน์ H (Lot) ผมต้องการจัดเรียงใหม่ที่คอลัมน์ M เพื่อจะแสดงรายการ Lot ที่มีในสินค้านั้นๆ เพื่อรวมจำนวน

:D ลองคีย์ตามนี้ครับ
M1=SUMPRODUCT(1/COUNTIF($H$3:$H$8,$H$3:$H$8))

M3=IF(ROWS(M$3:M3)>$M$2,"",INDEX($H$3:$H$8,SMALL(IF(MATCH($H$3:$H$8,$H$3:$H$8,0)=ROW($H$3:$H$8)-ROW($H$3)+1,ROW($H$3:$H$8)-ROW($H$3)+1),ROWS(M$3:M3)))) Ctrl+Alt+Enter แล้วคัดลอกลงมาด้านล่าง

N3=COUNTIF($H$3:$H$8,M3) คัดลอกลงมาด้านล่าง

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Tue Jul 08, 2014 1:12 pm
by Totem
Totem wrote:
saynam wrote:Stock summary นะครับ ที่คอลัมน์ H (Lot) ผมต้องการจัดเรียงใหม่ที่คอลัมน์ M เพื่อจะแสดงรายการ Lot ที่มีในสินค้านั้นๆ เพื่อรวมจำนวน

:D ลองคีย์ตามนี้ครับ
M1=SUMPRODUCT(1/COUNTIF($H$3:$H$8,$H$3:$H$8))

M3=IF(ROWS(M$3:M3)>$M$2,"",INDEX($H$3:$H$8,SMALL(IF(MATCH($H$3:$H$8,$H$3:$H$8,0)=ROW($H$3:$H$8)-ROW($H$3)+1,ROW($H$3:$H$8)-ROW($H$3)+1),ROWS(M$3:M3)))) Ctrl+Alt+Enter แล้วคัดลอกลงมาด้านล่าง

N3=COUNTIF($H$3:$H$8,M3) คัดลอกลงมาด้านล่าง
ขอแก้ไขพิมพ์สูตรผิดที่ถูกต้อง

M3=IF(ROWS(M$3:M3)>$M$1,"",INDEX($H$3:$H$8,SMALL(IF(MATCH($H$3:$H$8,$H$3:$H$8,0)=ROW($H$3:$H$8)-ROW($H$3)+1,ROW($H$3:$H$8)-ROW($H$3)+1),ROWS(M$3:M3)))) Ctrl+Alt+Enter แล้วคัดลอกลงมาด้านล่าง

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Tue Jul 08, 2014 2:19 pm
by saynam
ในกรณีจำนวนคงทีได้ครับ แต่พอจำนวนมีการเปลียนแปลง ไม่ได้อ่ะครับ เลือกเปลี่ยนสินค้าที่ Summary B3

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Tue Jul 08, 2014 2:38 pm
by Totem
saynam wrote:ในกรณีจำนวนคงทีได้ครับ แต่พอจำนวนมีการเปลียนแปลง ไม่ได้อ่ะครับ เลือกเปลี่ยนสินค้าที่ Summary B3
:D เนื่องจากในคอลัมน์ H เกิด EROR #NUM,#N/A

ลองตามนี้ครับที่ H3 =IFERROR(INDEX(Sheet1!J2:J11,G3),"") ENTERและคัดลอกลงมาด้านล่าง

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Tue Jul 08, 2014 2:43 pm
by saynam
ได้แล้วครับ ขอบคุณมากครับ

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Tue Jul 08, 2014 3:56 pm
by saynam
แต่เหมือนจะมีความผิดพลาดครับ มีรายการสินค้า productA และ CARBOPOL 980% ที่มี 1 lot และหลายรายการ แสดงผิดพลาด

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Tue Jul 08, 2014 5:38 pm
by Totem
saynam wrote:แต่เหมือนจะมีความผิดพลาดครับ มีรายการสินค้า productA และ CARBOPOL 980% ที่มี 1 lot และหลายรายการ แสดงผิดพลาด
:D ช่อง M3 สูตร กด ctrl+shift+enter

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Wed Jul 09, 2014 8:47 am
by saynam
ก็ยังไม่ได้เหมือนเดิมนะครับ ดูจาก productA มีรายการเดียวที่มีปัญหา รายการอื่นไม่มีปัญหา จากข้อสังเกต ข้อมูลสินค้านี้ จะมี 1 lot แต่หลายรายการ โดยจะแสดงออกมา 2 lot โดย lot ที่ 2 ค่าเป็น 0

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Wed Jul 09, 2014 9:16 am
by Totem
saynam wrote:ก็ยังไม่ได้เหมือนเดิมนะครับ ดูจาก productA มีรายการเดียวที่มีปัญหา รายการอื่นไม่มีปัญหา จากข้อสังเกต ข้อมูลสินค้านี้ จะมี 1 lot แต่หลายรายการ โดยจะแสดงออกมา 2 lot โดย lot ที่ 2 ค่าเป็น 0
:D ปรับตามนี้ดูครับ

J1=SUMPRODUCT((S_Lot<>0)/COUNTIF(S_Lot,S_Lot&""))

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Wed Jul 09, 2014 9:51 am
by saynam
ได้แล้ว ได้แล้ว ขอบคุณมากมายครับผม

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Wed Jul 09, 2014 1:26 pm
by saynam
ขอถามอีกนิดครับ ลองทำแล้ว ในแถบ Search ต้องการเรียงข้อมูลในแนว COLUMN เหมือนที่เคยเรียงตาม ROWS ต้องปรับสูตรอย่างไร ทำได้หรือเปล่าครับ

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Wed Jul 09, 2014 1:49 pm
by Totem
saynam wrote:ขอถามอีกนิดครับ ลองทำแล้ว ในแถบ Search ต้องการเรียงข้อมูลในแนว COLUMN เหมือนที่เคยเรียงตาม ROWS ต้องปรับสูตรอย่างไร ทำได้หรือเปล่าครับ
:D เรียงให้เป็นแบบนี้หรือเปล่าครับ

L3=IF(COLUMNS(L3:L3)>$E$1,"",INDEX(A_Product_Name,SMALL(IF(MATCH(A_Product_Name,A_Product_Name,0)=ROW(A_Product_Name)-ROW($E$3)+1,ROW(S_Lot)-ROW($E$3)+1),COLUMNS($L$3:L3)))) Ctrl+Shift+Enter คัดลอกไปทางขวา

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Wed Jul 09, 2014 1:54 pm
by saynam
มีรายการ 0 เพิ่มเข้ามาอีกรายการอีกแล้วอ่ะครับ

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Wed Jul 09, 2014 2:34 pm
by Totem
:D คีย์ตามนี้ครับ

L3=IFERROR(IF(COLUMNS(L3:L3)>$E$1,"-",INDEX(A_Product_Name,SMALL(IF(MATCH(A_Product_Name,A_Product_Name,0)=ROW(A_Product_Name)-ROW($E$3)+1,ROW(S_Lot)-ROW($E$3)+1),COLUMNS($L$3:L3)))),"") Ctrl+Shift+Enter คัดลอกไปทางขวา

E3=IFERROR(INDEX(C_Product,D3),"") คัดลอกลงมาครับ

Re: การแสดงผล โดยค่าไม่ซ้ำ

Posted: Thu Jul 10, 2014 3:28 pm
by saynam
สอบถามเพิ่มเติมครับ AJ=IFERROR(SUMIF(P_Lot:P_Pay,AH3,P_Pay:P_Pay),"") พอ Copy ลงมา ค่าที่ไม่มีข้อมูล กลับมีข้อมูลมา ผมทำผิดตรงไหนหรอครับ