Page 1 of 1

ต้องการนำข้อมูล AUto ไปอีก Sheet

Posted: Mon Apr 11, 2011 6:00 pm
by ekkaluk_suk
ถ้าต้องการให้ข้อมูลจาก Sheet Master ไป แสดงที่ Sheet Auto โดย แต่ละแถว ของ Sheet Master
จะต้องไปแสดงที่ Sheet Auto 16 แถว (ตามตัวอย่าง) จะมีวิธีไหนได้บ้างครับ ข้อมูลต้องการให้แสดงต่อลงไปเรื่อย ๆ
ที่ Sheet Auto ตามเงื่อนไขที่แจ้งคือ 1 แถว = 16 ชุด

Re: ต้องการนำข้อมูล AUto ไปอีก Sheet

Posted: Mon Apr 11, 2011 10:56 pm
by kmb
:D ถ้าใช้ VBA ผมยังทำไม่เป็นนะครับ
ผมทำตัวอย่างโดยวิธีใช้สูตร ตามนี้ครับ ซึ่งวิธีนี้มีขั้นตอนที่ต้องไปจัดการเองบ้างนะครับ เช่นเปลี่ยนขอบเขต
ที่ชีต "ตัวอย่าง" เซลล์ B1 ใช้สูตรนี้ครับ
=IF(ISERROR(INDEX(MASTER!A$2:A$5000,IF(ROUNDUP(ROW()/16,0)<=COUNTA(MASTER!$A:$A)-1,ROUNDUP(ROW()/16,0)))),"",INDEX(MASTER!A$2:A$5000,IF(ROUNDUP(ROW()/16,0)<=COUNTA(MASTER!$A:$A)-1,ROUNDUP(ROW()/16,0))))
Enter > copy ลงด้านล่างจนถึงเซลล์ B17

เซลล์ D1 ใช้สูตร
=IF(ISERROR(INDEX(MASTER!B$2:B$5000,IF(ROUNDUP(ROW()/16,0)<=COUNTA(MASTER!$A:$A)-1,ROUNDUP(ROW()/16,0)))),"",INDEX(MASTER!B$2:B$5000,IF(ROUNDUP(ROW()/16,0)<=COUNTA(MASTER!$A:$A)-1,ROUNDUP(ROW()/16,0))))
Enter > copy ลงด้านล่างจนถึงเซลล์ D17

เซลล์ A17 ใช้สูตร
=IF($B17="","",A1)
Enter > copy สูตรนี้ไปยังเซลล์ C17, E17 และ F17

เลือกตั้งแต่เซลล์ A17 จนถึง F17 >> copy ลงด้านล่าง

ลองดูไฟล์ที่แนบครับ

Re: ต้องการนำข้อมูล AUto ไปอีก Sheet

Posted: Sat Apr 16, 2011 9:17 pm
by snasui
สามารถใช้ Index ร่วมกับ Int ตามด้านล่างครับ

1. ชีท Auto เซลล์ B1 คีย์

=INDEX(MASTER!$A$2:$A$3933,INT((ROWS(B$1:B1)-1)/16)+1)

Enter > Copy ลงด้านล่าง

2. ชีท Auto เซลล์ D1 คีย์

=INDEX(MASTER!$B$2:$B$3933,INT((ROWS(D$1:D1)-1)/16)+1)

Enter > Copy ลงด้านล่าง

ดูไฟล์แนบประกอบครับ