Page 1 of 1

คัดลอกข้อมูลแนวตั้งไปเป็นแนวนอนอีกSheet

Posted: Mon Sep 08, 2014 2:36 pm
by kotchaorn
เรียน อาจารย์ค่ะ
รบกวนช่วยหาสูตรexcel ที่จะคัดลอกข้อมูลจากแนวตั้งของ sheetอื่นๆ ไปเก็บไว้อีก sheet แต่เป็นแนวนอนค่ะ สิ่งที่ต้องการมีดังนี้ค่ะ
1. คอลัมภ์ Supplier เป็นชื่อตาม Sheet
2. อยากได้ข้อมูลของ Sheet AA, BB, CC มาไว้ที่ Sheetสรุปค่ะ
ขอบคุณมากค่ะ
กชอร

Re: คัดลอกข้อมูลแนวตั้งไปเป็นแนวนอนอีกSheet

Posted: Mon Sep 08, 2014 7:29 pm
by snasui
:D ช่วยทำตัวอย่างคำตอบที่ต้องการมาด้วย จะได้เข้าใจตรงกันครับ

Re: คัดลอกข้อมูลแนวตั้งไปเป็นแนวนอนอีกSheet

Posted: Wed Sep 10, 2014 10:12 am
by kotchaorn
snasui wrote::D ช่วยทำตัวอย่างคำตอบที่ต้องการมาด้วย จะได้เข้าใจตรงกันครับ
เรียน อาจารย์ค่ะ
ได้แนบไฟล์ไปใหม่ค่ะ ว่าต้องการคำตอบแบบไหนค่ะ
ขอบคุณค่ะ
กชอร

Re: คัดลอกข้อมูลแนวตั้งไปเป็นแนวนอนอีกSheet

Posted: Wed Sep 10, 2014 5:56 pm
by snasui
:D ลองตามนี้ครับ

ที่ชีท สรุป
  1. เซลล์ T3:V3 คีย์ Sheet Name, Count Item, Start Item ตามลำดับ
  2. เซลล์ T4:T6 คีย์ชื่อชีท
  3. เซลล์ U4 คีย์สูตร
    =COUNT(INDIRECT("'"&T4&"'!A:A"))
    Enter > Copy ลงด้านล่างถึง U6
  4. เซลล์ V4 คีย์สูตร
    =SUM(U$4:U4)-U4+1
    Enter > Copy ลงด้านล่างถึง V6
  5. เซลล์ H1:P1 กรอกค่าให้เหมือนกันทุกประการกับชีท AA หรือชีทใด ๆ ในช่วง O4:O12 การกรอกค่าไม่เหมือนกันจะทำให้แสดงข้อมูลผิดพลาด
  6. เซลล์ A4 คีย์
    =IF(ROWS(A$4:A4)>$U$7,"",LOOKUP(ROWS(A$4:A4),$V$4:$V$6,$T$4:$T$6))
    Enter > Copy ลงด้านล่าง
  7. เซลล์ B4 คีย์
    =IF(A4="","",INDEX(INDEX(INDIRECT("'"&$A4&"'!B3:G100"),0,COLUMNS($B4:B4)),SMALL(IF(INDIRECT("'"&$A4&"'!B3:B100")<>"",ROW(INDIRECT("'"&$A4&"'!B3:B100"))-MIN(ROW(INDIRECT("'"&$A4&"'!B3:B100")))+1),COUNTIF($A$4:$A4,$A4))))
    Ctrl+Shift+Enter > Copy ไปถึง G4 แล้ว Copy ลงด้านล่าง
  8. เซลล์ H4 คีย์
    =IF(G4="","",INDEX(INDIRECT("'"&$A4&"'!P3:P100"),SMALL(IF(INDIRECT("'"&$A4&"'!O3:O100")=H$1,ROW(INDIRECT("'"&$A4&"'!B3:B100"))-MIN(ROW(INDIRECT("'"&$A4&"'!B3:B100")))+1),COUNTIF($A$4:$A4,$A4))))
    Ctrl+Shift+Enter > Copy ไปถึง P4 แล้ว Copy ลงด้านล่าง

!
Note: Ctrl+Shift+Enter หมายถึง
  1. กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  2. กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน จากนั้นกดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  3. หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
  4. การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง

Re: คัดลอกข้อมูลแนวตั้งไปเป็นแนวนอนอีกSheet

Posted: Fri Sep 12, 2014 12:01 pm
by kotchaorn
อาจารย์ค่ะ
ลองทำดูแล้วค่ะ ได้คำตอบตามที่ต้องการค่ะ ขอบพระคุณมากๆค่ะ
กชอร