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 และเอามาวางทีละไฟล์ ไฟล์จะได้รับทุกเดือนค่ะ ต้องการลดขั้นตอนการทำงาน รบกวนชี้แนะด้วยค่ะ
ขอบคุณค่ะ

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 และเอามาวางทีละไฟล์ ไฟล์จะได้รับทุกเดือนค่ะ ต้องการลดขั้นตอนการทำงาน รบกวนชี้แนะด้วยค่ะ
ขอบคุณค่ะ
ลองตามนี้ครับ
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 ได้ข้อมูลตรงตามที่ต้องการเลยค่ะ จะนำไปประยุกต์นะคะ เพราะมีรายงานแบบนี้เยอะเลยค่ะ แต่ก็ยังไม่ค่อยเข้าใจที่มาของสูตรค่ะ ขอบคุณที่ช่วยเหลือนะคะ แนบไฟล์ตัวอย่างมาเผื่อเพื่อนๆด้วยค่ะ
เพื่อเป็นความรู้ รบกวนแนะนำค่าให้หน่อยว่า หาจำนวนนี้เพื่ออะไรคะ
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 มากค่ะ

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