Page 1 of 1

การดึงข้อมูลมารวมกันที่ชีทใหม่

Posted: Tue Nov 06, 2018 10:25 am
by Polly
สวัสดีค่ะ

ต้องการคำแนะนำ มีสูตรช่วยการดึงข้อมูลมารวมกันที่ชีทใหม่ไหมคะ (มีไฟล์แนบ)

จากไฟล์มีข้อมูลแยกมา 3 ชีท ต้องการให้มารวมที่ชีท "ไฟล์ที่ต้องการรวม"
เงื่อนไข
1.คอลัมน์ Biling Status ของชีท A,B,C จะดึงเฉพาะกลุ่มชื่อ "ISSUE"
2.แต่ละชีท A,B,C ข้อมูลมีหัวคอลัมน์ที่ไม่ตรงกัน
3.ต้องการให้มาเรียงต่อกันตั้งแต่ชีท A,B,C เพื่อไปทำงานต่อ

ปกติจะใช้ Filter เลือกที่คอลัมน์ Biling Status และเอามาวางทีละไฟล์ ไฟล์จะได้รับทุกเดือนค่ะ ต้องการลดขั้นตอนการทำงาน รบกวนชี้แนะด้วยค่ะ
ขอบคุณค่ะ :thup:

Re: การดึงข้อมูลมารวมกันที่ชีทใหม่

Posted: Tue Nov 06, 2018 1:53 pm
by puriwutpokin
Polly wrote: Tue Nov 06, 2018 10:25 am สวัสดีค่ะ

ต้องการคำแนะนำ มีสูตรช่วยการดึงข้อมูลมารวมกันที่ชีทใหม่ไหมคะ (มีไฟล์แนบ)

จากไฟล์มีข้อมูลแยกมา 3 ชีท ต้องการให้มารวมที่ชีท "ไฟล์ที่ต้องการรวม"
เงื่อนไข
1.คอลัมน์ Biling Status ของชีท A,B,C จะดึงเฉพาะกลุ่มชื่อ "ISSUE"
2.แต่ละชีท A,B,C ข้อมูลมีหัวคอลัมน์ที่ไม่ตรงกัน
3.ต้องการให้มาเรียงต่อกันตั้งแต่ชีท A,B,C เพื่อไปทำงานต่อ

ปกติจะใช้ Filter เลือกที่คอลัมน์ Biling Status และเอามาวางทีละไฟล์ ไฟล์จะได้รับทุกเดือนค่ะ ต้องการลดขั้นตอนการทำงาน รบกวนชี้แนะด้วยค่ะ
ขอบคุณค่ะ :thup:
ลองตามนี้ครับ
1.ที่ชีท ไฟล์ที่ต้องการรวม ที่ P3 ถึง P5 ใส่ชื่อชีท A,B,C ตามลำดับ ครับ
2.ที่ Q3=COUNTIF(INDIRECT("'"&P3&"'!A2:A100"),"ISSUE") copy ถึง Q5
3.ที่ R3=SUM(Q$3:Q3)-Q3+1 copy ถึง R5
4.ที่ Q6=SUM(Q3:Q5)
5.ที่ O3=IF(ROWS(O$3:O3)>$Q$6,"",LOOKUP(ROWS(O$3:O3),$R$3:$R$5,$P$3:$P$5)) copy ถึงค่าว่าง
6.ที่ B3=IF($O3="","",INDEX(INDIRECT("'"&$O3&"'!A3:L100"),AGGREGATE(15,6,(ROW($A$3:$A$100)-ROW($A$2))/(INDIRECT("'"&$O3&"'!A3:A100")="ISSUE"),COUNTIF($O$3:$O3,$O3)),COLUMNS($B3:B3))) copy ถึง M3 และ copy ลงครับ

Re: การดึงข้อมูลมารวมกันที่ชีทใหม่

Posted: Tue Nov 06, 2018 6:07 pm
by Polly
ขอบคุณมากค่ะ คุณ Puriwutpokin ได้ข้อมูลตรงตามที่ต้องการเลยค่ะ จะนำไปประยุกต์นะคะ เพราะมีรายงานแบบนี้เยอะเลยค่ะ แต่ก็ยังไม่ค่อยเข้าใจที่มาของสูตรค่ะ ขอบคุณที่ช่วยเหลือนะคะ แนบไฟล์ตัวอย่างมาเผื่อเพื่อนๆด้วยค่ะ :roll:

เพื่อเป็นความรู้ รบกวนแนะนำค่าให้หน่อยว่า หาจำนวนนี้เพื่ออะไรคะ
R3=SUM(Q$3:Q3)-Q3+1 copy ถึง R5
O3=IF(ROWS(O$3:O3)>$Q$6,"",LOOKUP(ROWS(O$3:O3),$R$3:$R$5,$P$3:$P$5))

Re: การดึงข้อมูลมารวมกันที่ชีทใหม่

Posted: Tue Nov 06, 2018 7:30 pm
by puriwutpokin
R3=SUM(Q$3:Q3)-Q3+1 เพือเป็นค่า Lookup ข้อมูล​ครับ
O3=IF(ROWS(O$3:O3)>$Q$6,"",LOOKUP(ROWS(O$3:O3),$R$3:$R$5,$P$3:$P$5)) เป็นการ Lookup​ ข้อมูล​จาก R3 เมื่อ เพื่อ​เอาค่า ชีท ออกมาครับ
ประมาณ​นี้ครับ โจทย์​แนวนี้มีหลายรูปแบบลองค้นคว้า​ศึก​ษ​าดูอีกทีครับ

Re: การดึงข้อมูลมารวมกันที่ชีทใหม่

Posted: Wed Nov 07, 2018 8:39 am
by Polly
ขอบคุณคุณ Puriwutpokin มากค่ะ :cp:

Re: การดึงข้อมูลมารวมกันที่ชีทใหม่

Posted: Wed Nov 07, 2018 2:42 pm
by Polly
เรียน อาจารย์ Puriwutpokin

เมื่อนำไปลงค่าจริง พบว่ามีสิ่งที่อยากปรับปรุง คือ

1. คอลัมน์ F-K ต้องการให้เป็นค่าว่าง
จึงต้องการข้อมูลจาก F-K ไปเริ่มต้นที่ L-S แทน จบที่ Aging

2. ชีทC มีหัวคอลัมน์ที่ไม่ตรงกัน ทำให้ค่า M5749:5750 ดึงมาไม่ถูก
ค่าที่แท้จริงจะต้องเป็น Aging (column O ของชีท C) คือ เลข

2549
2501
ตามลำดับ

พร้อมไฟล์ต.ย.แนบมาด้วยค่ะ
ขอบคุณค่ะ

Re: การดึงข้อมูลมารวมกันที่ชีทใหม่

Posted: Wed Nov 07, 2018 3:34 pm
by puriwutpokin
Polly wrote: Wed Nov 07, 2018 2:42 pm เรียน อาจารย์ Puriwutpokin

เมื่อนำไปลงค่าจริง พบว่ามีสิ่งที่อยากปรับปรุง คือ

1. คอลัมน์ F-K ต้องการให้เป็นค่าว่าง
จึงต้องการข้อมูลจาก F-K ไปเริ่มต้นที่ L-S แทน จบที่ Aging

2. ชีทC มีหัวคอลัมน์ที่ไม่ตรงกัน ทำให้ค่า M5749:5750 ดึงมาไม่ถูก
ค่าที่แท้จริงจะต้องเป็น Aging (column O ของชีท C) คือ เลข

2549
2501
ตามลำดับ

พร้อมไฟล์ต.ย.แนบมาด้วยค่ะ
ขอบคุณค่ะ
ปรับเป็นที่ B3=IF($AC3="","",IFERROR(INDEX(INDIRECT("'"&$AC3&"'!A3:O15000"),AGGREGATE(15,6,(ROW($A$3:$A$15000)-ROW($A$2))/(INDIRECT("'"&$AC3&"'!A3:A15000")="ISSUE"),COUNTIF($AC$3:$AC3,$AC3)),IFERROR(MATCH(B$2,INDIRECT("'"&$AC3&"'!A2:O2"),0),CHOOSE(COLUMNS($B3:B3),1,2,3,4,"","","","","","",5,6,7,8,9,10,11,12,13,14,15))),"")) copy ไปทั่วตาราง แต่ทุกชีทที่ดึงข้อมูลมาคอลัมน์ควรจะ มีหัวคอลัมน์เหมือนกันนะครับ ไม่ก็ต้องมีตำแหน่งที่เท่ากัน ครับปรับข้อมูลต้นทางด้วยครับ

Re: การดึงข้อมูลมารวมกันที่ชีทใหม่

Posted: Wed Nov 07, 2018 5:38 pm
by Polly
เรียน อาจารย์ Puriwutpokin

ได้ข้อมูลตามต้องการแล้วค่ะ ปรับหัวคอลัมน์แต่ละชีทให้ตรงกันตามคำแนะนำเรียบร้อยค่ะ
ขอบคุณมากค่ะ