Page 1 of 1
เรื่องจัดการข้อมูล เปลี่ยนคอลัมน์เป็นแถว แยกเป็นกลุ่ม
Posted: Fri Apr 04, 2014 7:58 am
by ballnakata
ข้อมูลต้นฉบับ
ข้อมูลที่ต้องการ
คือจะเปลี่ยนคอลัมน์เป็นแถว แยกเป็นกลุ่ม โดยคอลัมน์ a เป็นตัวแยกกลุ่ม ข้อมูลมีเป็นหมื่นแถวครับ ถ้าจะทำมือคงไม่ไหว
ช่วยแนะนำด้วยครับ ขอบคุณครับ

Re: เรื่องจัดการข้อมูล เปลี่ยนคอลัมน์เป็นแถว แยกเป็นกลุ่ม
Posted: Fri Apr 04, 2014 11:56 am
by bank9597

แนบไฟล์ตัวอย่างมาให้ดูหน่อยครับ
Re: เรื่องจัดการข้อมูล เปลี่ยนคอลัมน์เป็นแถว แยกเป็นกลุ่ม
Posted: Sat Apr 05, 2014 11:14 am
by ballnakata
นี่ครับ
ข้อมูล.xlsx
Re: เรื่องจัดการข้อมูล เปลี่ยนคอลัมน์เป็นแถว แยกเป็นกลุ่ม
Posted: Sat Apr 05, 2014 11:33 am
by snasui

ลองตามนี้ครับ
ที่ชีท
เสร็จ
- คลุมเซลล์ A2:B2 > คลิกขวา > Format Cells > ที่แถบ Number เลือก General
- ที่เซลล์ A2 คีย์
=IFERROR(INDEX(ต้นฉบับ!$A$2:$A$11,SMALL(IF(FREQUENCY(MATCH(ต้นฉบับ!$A$2:$A$11,ต้นฉบับ!$A$2:$A$11,0),ROW(ต้นฉบับ!$A$2:$A$11)-ROW(ต้นฉบับ!$A$2)+1),ROW(ต้นฉบับ!$A$2:$A$11)-ROW(ต้นฉบับ!$A$2)+1),ROWS(A$2:A2))),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
- ที่เซลล์ B2 คีย์
=IFERROR(INDEX(ต้นฉบับ!$B$2:$B$11,SMALL(IF($A2=ต้นฉบับ!$A$2:$A$11,ROW(ต้นฉบับ!$B$2:$B$11)-ROW(ต้นฉบับ!$B$2)+1),COLUMNS($B2:B2))),"")
Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง
!
| Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง |
Re: เรื่องจัดการข้อมูล เปลี่ยนคอลัมน์เป็นแถว แยกเป็นกลุ่ม
Posted: Sat Apr 05, 2014 6:39 pm
by ballnakata
ได้แล้วครับ ขอบคุณมากครับ

Re: เรื่องจัดการข้อมูล เปลี่ยนคอลัมน์เป็นแถว แยกเป็นกลุ่ม
Posted: Sun May 18, 2014 2:54 am
by ballnakata
พอจะแก้สูตรให้ทำงานได้เร็วกว่านี้ได้หรือเปล่าครับ เพราะรันประมาณ 5000 แถวก็รอนานเป็นชั่วโมงเลยครับ ไม่ได้ไม่เป็นไรครับ

ขอบคุณครับ
Re: เรื่องจัดการข้อมูล เปลี่ยนคอลัมน์เป็นแถว แยกเป็นกลุ่ม
Posted: Sun May 18, 2014 6:21 am
by snasui

สูตรที่ทำงานลักษณะนั้นไม่สามารถปรับให้เร็วได้ ยิ่งใช้กับข้อมูลจำนวนมากจะยิ่งช้า หากต้องการความเร็วต้องพึ่ง VBA ในการจัดการ หากใช้ VBA จำเป็นต้องเขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน

ติดตรงไหนค่อยมาถามกันต่อครับ