Page 1 of 1

สอบถามการคัดลอกข้อมูล 2 sheet มารวมไว้ใน sheet เดียวกัน

Posted: Thu Aug 13, 2015 10:44 am
by meiiz
สอบถามการคัดลอกข้อมูลจาก sheet1 และ sheet2 ไปรวมกันใน sheet3 โดยข้อมูลของ sheet1และsheet2 มีจำนวนรายการไม่แน่นอน และต้องการคัดลอกบางคอลัมน์ (จากตย.ต้องการคัดลอกเฉพาะคอลัมน์ที่มีพื้นหลังเป็นสีฟ้า)

ปล.สอบถามเพิ่มเติมสามารถคัดลอกโดย ข้อมูล Securities จากตัวอย่างให้รูปแบบเหมือนกันได้ไหมคะ เนื่องจากข้อมูล Securities จาก sheet1 และ sheet2 มีการเว้นวรรคไม่เท่ากันค่ะ

ปล1.เคยทำแบบบันทึก macro แต่รู้สึกว่ามันไม่ยืดหยุ่นค่ะ

ขอบคุณค่ะ

Re: สอบถามการคัดลอกข้อมูล 2 sheet มารวมไว้ใน sheet เดียวกัน

Posted: Thu Aug 13, 2015 11:30 am
by DhitiBank
ลองแบบนี้ครับ

1. ใน Sheet3 เซลล์ F1, F2 คีย์ Sheet1, Sheet2 ตามลำดับ

2. ที่ G2 คีย์
=COUNTA(INDIRECT(F2&"!B:B"))
แล้วคัดลอกไป G3

3. ที่ H2 คีย์
=SUM(G$2:G2)-G2+1
แล้วคัดลอกไป H3

4. I1 คีย์
=SUM(G:G)

5. D2 คีย์ Source และที่ D3 คีย์
=IF(ROWS(D$3:D3)>$I$1,"",LOOKUP(ROWS(D$3:D3),$H$2:$H$3,$F$2:$F$3))

6. A3 คีย์
=IF(ROWS(A$3:A3)>$I$1,"",INDIRECT(LOOKUP(ROWS(A$3:A3),$H$2:$H$3,$F$2:$F$3)&"!A"&COUNTIF($D$3:$D3,$D3)+1))

7. B3 คีย์
=IF(ROWS(B$3:B3)>$I$1,"",IF(MATCH($D3,$F$2:$F$3,0)=1,INDIRECT(LOOKUP(ROWS(B$3:B3),$H$2:$H$3,$F$2:$F$3)&"!E"&COUNTIF($D$3:$D3,$D3)+1),INDIRECT(LOOKUP(ROWS(B$3:B3),$H$2:$H$3,$F$2:$F$3)&"!B"&COUNTIF($D$3:$D3,$D3)+1)))

8. C3 คีย์
=IF(ROWS(C$3:C3)>$I$1,"",IF(MATCH($D3,$F$2:$F$3,0)=1,INDIRECT(LOOKUP(ROWS(C$3:C3),$H$2:$H$3,$F$2:$F$3)&"!B"&COUNTIF($D$3:$D3,$D3)+1),INDIRECT(LOOKUP(ROWS(C$3:C3),$H$2:$H$3,$F$2:$F$3)&"!C"&COUNTIF($D$3:$D3,$D3)+1)))

9. คัดลอกสูตรตั้งแต่ข้อ 5-8 ลงด้านล่างจนเห็นว่าสูตรแสดงค่าว่างครับ จากนั้น ลองปรับเปลี่ยนข้อมูลใน Sheet1 และ Sheet2 ดูครับ

Re: สอบถามการคัดลอกข้อมูล 2 sheet มารวมไว้ใน sheet เดียวกัน

Posted: Thu Aug 13, 2015 12:37 pm
by meiiz
DhitiBank wrote:ลองแบบนี้ครับ

1. ใน Sheet3 เซลล์ F1, F2 คีย์ Sheet1, Sheet2 ตามลำดับ

2. ที่ G2 คีย์
=COUNTA(INDIRECT(F2&"!B:B"))
แล้วคัดลอกไป G3

3. ที่ H2 คีย์
=SUM(G$2:G2)-G2+1
แล้วคัดลอกไป H3

4. I1 คีย์
=SUM(G:G)

5. D2 คีย์ Source และที่ D3 คีย์
=IF(ROWS(D$3:D3)>$I$1,"",LOOKUP(ROWS(D$3:D3),$H$2:$H$3,$F$2:$F$3))

6. A3 คีย์
=IF(ROWS(A$3:A3)>$I$1,"",INDIRECT(LOOKUP(ROWS(A$3:A3),$H$2:$H$3,$F$2:$F$3)&"!A"&COUNTIF($D$3:$D3,$D3)+1))

7. B3 คีย์
=IF(ROWS(B$3:B3)>$I$1,"",IF(MATCH($D3,$F$2:$F$3,0)=1,INDIRECT(LOOKUP(ROWS(B$3:B3),$H$2:$H$3,$F$2:$F$3)&"!E"&COUNTIF($D$3:$D3,$D3)+1),INDIRECT(LOOKUP(ROWS(B$3:B3),$H$2:$H$3,$F$2:$F$3)&"!B"&COUNTIF($D$3:$D3,$D3)+1)))

8. C3 คีย์
=IF(ROWS(C$3:C3)>$I$1,"",IF(MATCH($D3,$F$2:$F$3,0)=1,INDIRECT(LOOKUP(ROWS(C$3:C3),$H$2:$H$3,$F$2:$F$3)&"!B"&COUNTIF($D$3:$D3,$D3)+1),INDIRECT(LOOKUP(ROWS(C$3:C3),$H$2:$H$3,$F$2:$F$3)&"!C"&COUNTIF($D$3:$D3,$D3)+1)))

9. คัดลอกสูตรตั้งแต่ข้อ 5-8 ลงด้านล่างจนเห็นว่าสูตรแสดงค่าว่างครับ จากนั้น ลองปรับเปลี่ยนข้อมูลใน Sheet1 และ Sheet2 ดูครับ

ขอบคุณมากนะคะคุณ DhitiBank ขอเวลาศึกษาข้อมูลและลองทำดูก่อน ^^

Re: สอบถามการคัดลอกข้อมูล 2 sheet มารวมไว้ใน sheet เดียวกัน

Posted: Thu Aug 13, 2015 3:33 pm
by meiiz
นำมาใช้งานได้ไม่มีปัญหา ขอบคุณมากนะคะ ^^