Page 1 of 1

ขอความช่วยเหลือการแยกข้อมูลในแต่ละชิท

Posted: Mon May 09, 2016 9:33 pm
by comscience21
ขอคำแนะนำในการแยกข้อมูลในแต่ละชีท ซึ่งมีรายละเอียดดังนี้ ครับ จะมีไฟล์ "Report" ซึ่งเป็นแบบฟอร์มหลักในการทำงาน ซึ่งจะนำข้อมูลมาใส่จากไฟล์ "รายงานการขาย" ข้อมูลรายการสินค้า 1 รายการเท่ากับหนึ่งชีท มีรายการสินค้าประมาณ 600-700 รายการ ซึ่งใช้ Bar code ในการตั้งชื่อชีทนั้นๆ
ปัจจุบันใช้วิธีสร้างชีทไปทีละชีทและ Copy ข้อมูลมาวางในชีทเอง ซึ่งใช้เวลาในการทำงานนานมากๆๆ อยากข้อแนะนำมีวิธีอย่างไรบ้างที่จะให้ไฟล์ "Report" ลิงค์ข้อมูลจากไฟล์ "รายงานการขาย" อัตโนมัติครับ ตัวอย่างไฟล์ตามไฟล์แนบครับ

Re: ขอความช่วยเหลือการแยกข้อมูลในแต่ละชิท

Posted: Tue May 10, 2016 9:13 am
by logic
เท่าที่ดูเป็นการดึงข้อมูลมาแสดงตาม barcode แต่ไม่เห็นว่ามี barcode อยู่ในไฟล์รายงานการขาย หากจะดึงข้อมูลมาได้ในไฟล์รายงานการขายก็ต้องมี barcode ด้วยนะครับ :)

Re: ขอความช่วยเหลือการแยกข้อมูลในแต่ละชิท

Posted: Tue May 10, 2016 9:28 am
by comscience21
มี barcode นะคับในไฟล์รายงานการขาย

Re: ขอความช่วยเหลือการแยกข้อมูลในแต่ละชิท

Posted: Tue May 10, 2016 3:30 pm
by logic
คำว่า "นะคับ" เป็นภาษาแชท ผิดกฎการใช้บอร์ดข้อ 1 ครับ

ลองดูสูตรนี้ว่าได้คำตอบไหมครับ แต่ก่อนอื่นต้องเปิดไฟล์ขึ้นมาพร้อมกันก่อน

เซลล์ช่วย
P1 =--MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)
P2 =SUMPRODUCT(--([รายงานการขาย.xlsx]การขาย!$A$2:$A$559=P1))

สูตรดึงข้อมูล
A8 =IF(ROWS(A$8:A8)>$P$2,"",$P$1)
B8 =VLOOKUP(A8,[รายงานการขาย.xlsx]การขาย!$A$2:$E$559,3,0)
C8 =IFERROR(INDEX([รายงานการขาย.xlsx]การขาย!$B$2:$B$559,SMALL(IF([รายงานการขาย.xlsx]การขาย!$A$2:$A$559=$A8,ROW([รายงานการขาย.xlsx]การขาย!$A$2:$A$559)-ROW([รายงานการขาย.xlsx]การขาย!$A$2)+1),ROWS(A$8:A8))),"")
F8 =SUMPRODUCT(--([รายงานการขาย.xlsx]การขาย!$A$2:$A$559=$A8),--([รายงานการขาย.xlsx]การขาย!$B$2:$B$559=$C8),[รายงานการขาย.xlsx]การขาย!$D$2:$D$559)
J8 =SUMPRODUCT(--([รายงานการขาย.xlsx]การขาย!$A$2:$A$559=$A8),--([รายงานการขาย.xlsx]การขาย!$B$2:$B$559=$C8),[รายงานการขาย.xlsx]การขาย!$E$2:$E$559)

สูตรที่ c8 เป็นอาร์เรย์ กดแป้น enter เฉย ๆ ไม่ได้ ต้องกด ctrl+shift ค้างไว้ก่อนแล้วตามด้วย enter

แล้วค่อยคัดลอกสูตรที่ใช้ดึงข้อมูลทั้งหมดลงด้านล่าง :)

Re: ขอความช่วยเหลือการแยกข้อมูลในแต่ละชิท

Posted: Thu May 12, 2016 6:19 pm
by comscience21
logic wrote:คำว่า "นะคับ" เป็นภาษาแชท ผิดกฎการใช้บอร์ดข้อ 1 ครับ

ลองดูสูตรนี้ว่าได้คำตอบไหมครับ แต่ก่อนอื่นต้องเปิดไฟล์ขึ้นมาพร้อมกันก่อน

เซลล์ช่วย
P1 =--MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)
P2 =SUMPRODUCT(--([รายงานการขาย.xlsx]การขาย!$A$2:$A$559=P1))

สูตรดึงข้อมูล
A8 =IF(ROWS(A$8:A8)>$P$2,"",$P$1)
B8 =VLOOKUP(A8,[รายงานการขาย.xlsx]การขาย!$A$2:$E$559,3,0)
C8 =IFERROR(INDEX([รายงานการขาย.xlsx]การขาย!$B$2:$B$559,SMALL(IF([รายงานการขาย.xlsx]การขาย!$A$2:$A$559=$A8,ROW([รายงานการขาย.xlsx]การขาย!$A$2:$A$559)-ROW([รายงานการขาย.xlsx]การขาย!$A$2)+1),ROWS(A$8:A8))),"")
F8 =SUMPRODUCT(--([รายงานการขาย.xlsx]การขาย!$A$2:$A$559=$A8),--([รายงานการขาย.xlsx]การขาย!$B$2:$B$559=$C8),[รายงานการขาย.xlsx]การขาย!$D$2:$D$559)
J8 =SUMPRODUCT(--([รายงานการขาย.xlsx]การขาย!$A$2:$A$559=$A8),--([รายงานการขาย.xlsx]การขาย!$B$2:$B$559=$C8),[รายงานการขาย.xlsx]การขาย!$E$2:$E$559)

สูตรที่ c8 เป็นอาร์เรย์ กดแป้น enter เฉย ๆ ไม่ได้ ต้องกด ctrl+shift ค้างไว้ก่อนแล้วตามด้วย enter

แล้วค่อยคัดลอกสูตรที่ใช้ดึงข้อมูลทั้งหมดลงด้านล่าง :)
ขอบคุณมากๆ ครับ สามารถใช้งานได้แล้วครับ สุดยอดมากๆ ครับ :cp: :cp: :cp: