Page 1 of 1
วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Wed Jan 08, 2014 11:27 am
by narunpower
ตามตัวอย่างไฟล์แนบจะมีโจทย์ที่เรียงข้อมูลอย่างหนึ่ง ต้องการให้ออกมาเป็นผลลัพธ์ซึ่งเรียงข้อมูลอีกแบบหนึ่ง โดยหลักๆคือต้องการเอาหัวข้อแต่ละcolumnมาใส่ในrowทุกแถว ไม่ทราบว่าต้องใช้วิธีไหนดีครับ เพราะข้อมูลจริง มีcolumn ประมาณ 700 rowประมาณ600 ขอบคุณครับ
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Wed Jan 08, 2014 5:12 pm
by snasui

ลองตามนี้ครับ
C18 คีย์สูตร
=INDEX($B$2:$DK$2,INT((ROWS(C$18:C18)-1)/COUNTA($A$3:$A$11)+1))
Enter > Copy ลงด้านล่าง
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Wed Jan 08, 2014 5:48 pm
by narunpower
ขอบคุณมากครับ ละช่อง A18 B18 ใช้สูตรอะไรได้ครับ
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Wed Jan 08, 2014 8:54 pm
by snasui

ลองตามนี้ครับ
- A11 คีย์สูตร
=INDEX($A$3:$A$11,MOD((ROWS(A$17:A17)-1),COUNTA($A$3:$A$11))+1)
Enter
- B11 คีย์สูตร
=INDEX($B$3:$DK$11,MOD((ROWS(B$18:B18)-1),COUNTA($A$3:$A$11))+1,INT((ROWS(B$18:B18)-1)/COUNTA($A$3:$A$11)))
Enter
- Copy A11:B11 ลงด้านล่าง
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Thu Jan 09, 2014 10:08 am
by narunpower
ขอบคุณมากครับสำหรับคำแนะนำ แต่ผมเอาไปใช้งานจริงดูจะไม่สำเร็จอาจเป็นเพราะยังไม่เข้าใจโลจิค รบกวนช่วยดูsheetจริงแล้วแนะนำวิธีด้วยครับ ขอบคุณครับ
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Thu Jan 09, 2014 10:35 am
by snasui

แนบตัวอย่างสูตรที่ได้ลองทำเองแล้วมาด้วยจะได้ช่วยดูว่าผิดพลาดอย่างไรและจะปรับปรุงแก้ไขอย่างไรครับ
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Thu Jan 09, 2014 11:20 am
by narunpower
สูตรที่หนึ่งเริ่มA127 =INDEX($A$2:$A$122,MOD((ROWS(A$127:A127)-1),COUNTA($A$2:$A$122))+1)
สูตรที่สองเริ่มB127 =INDEX($C$2:$DL$122,MOD((ROWS(B$127:B127)-1),COUNTA($A$2:$A$122))+1,INT((ROWS(B$127:B127)-1)/COUNTA($A$2:$A$122)))
สูตรที่สามเริ่มC127 =INDEX($C$1:$DL$1,INT((ROWS(C$127:C127)-1)/COUNTA($A$2:$A$122)+1))
สูตรที่หนึ่งกับสูตรที่สามโอเคครับ ส่วนสูตรที่สองยังไม่ผ่านครับ
ขอบคุณครับ
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Thu Jan 09, 2014 11:37 am
by snasui

ช่วยแนบสูตรมาพร้อมไฟล์ พร้อมแจ้งมาด้วยว่าผิดพลาดอย่างไร คำตอบที่ถูกต้องเป็นอย่างไร จะได้เข้าใจตรงกันครับ
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Thu Jan 09, 2014 3:46 pm
by narunpower
ตามไฟล์แนบลองดูตั้งแต่บรรทัด125ครับ สูตรที่2ยังจับตัวเลขไม่ถูกครับ ตัวอย่างทำให้ถึงcolumn G แต่ของจริงต้องถึงcolumn DLครับ

Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Thu Jan 09, 2014 4:04 pm
by snasui

เซลล์ B27 ปรับสูตรเป็นตามด้านล่างครับ
=INDEX($C$2:$DL$122,MOD(ROWS(B$127:B127)-1,COUNTA($A$2:$A$122))+1,INT((ROWS(B$127:B127)-1)/COUNTA($A$2:$A$122))+1)
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Thu Jan 09, 2014 6:43 pm
by วังวู ช่ง
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Fri Jan 10, 2014 9:39 am
by narunpower
ปรับแล้วเหมือนยังขึ้นerrorตามไฟล์แนบอะครับ

Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Fri Jan 10, 2014 10:22 am
by joo
snasui wrote:
เซลล์ B27 ปรับสูตรเป็นตามด้านล่างครับ
=INDEX($C$2:$DL$122,MOD(ROWS(B$127:B127)-1,COUNTA($A$2:$A$122))+1,INT((ROWS(B$127:B127)-1)/COUNTA($A$2:$A$122))+1)
ลองเช็คดูให้ละเอียดตามที่ท่่านอาจารย์แนะนำหรือยังครับ ผมทอสอบสูตรของอาจารย์ก็แสดงผลได้ตามปกติไม่มี Error ครับ
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Fri Jan 10, 2014 10:38 am
by narunpower
joo wrote:snasui wrote:
เซลล์ B27 ปรับสูตรเป็นตามด้านล่างครับ
=INDEX($C$2:$DL$122,MOD(ROWS(B$127:B127)-1,COUNTA($A$2:$A$122))+1,INT((ROWS(B$127:B127)-1)/COUNTA($A$2:$A$122))+1)
ลองเช็คดูให้ละเอียดตามที่ท่่านอาจารย์แนะนำหรือยังครับ ผมทอสอบสูตรของอาจารย์ก็แสดงผลได้ตามปกติไม่มี Error ครับ
ผมก็ก๊อบสูตรแปะตรงๆเลยนะครับ ไม่ทราบว่าพอจะส่งsheetที่ทำแล้วไม่มีerrorให้ดูได้เปล่าครับ
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Fri Jan 10, 2014 10:45 am
by joo

จากไฟล์ที่แนบมาล่าสุด ที่เซลล์ B127 สูตรที่ใส่มาคือ =INDEX($C$2:$DL$122,MOD(ROWS(B$127:B127)-1,COUNTA($A$2:$A$122))+1,INT((ROWS(B$127:B127)-1)/COUNTA($A$2:$A$122)))
สูตรที่อาจารย์แนะนำคือ =INDEX($C$2:$DL$122,MOD(ROWS(B$127:B127)-1,COUNTA($A$2:$A$122))+1,INT((ROWS(B$127:B127)-1)/COUNTA($A$2:$A$122))
+1)
สังเกตุส่วนท้ายของสูตรจะต่างกันอยู่ครับ
Re: วิธีเอาข้อมูลมาจัดเรียงใหม่
Posted: Fri Jan 10, 2014 11:28 am
by narunpower
joo wrote:
จากไฟล์ที่แนบมาล่าสุด ที่เซลล์ B127 สูตรที่ใส่มาคือ =INDEX($C$2:$DL$122,MOD(ROWS(B$127:B127)-1,COUNTA($A$2:$A$122))+1,INT((ROWS(B$127:B127)-1)/COUNTA($A$2:$A$122)))
สูตรที่อาจารย์แนะนำคือ =INDEX($C$2:$DL$122,MOD(ROWS(B$127:B127)-1,COUNTA($A$2:$A$122))+1,INT((ROWS(B$127:B127)-1)/COUNTA($A$2:$A$122))
+1)
สังเกตุส่วนท้ายของสูตรจะต่างกันอยู่ครับ
ได้แล้วคับ ขอบคุณมากๆคับ พอดีผมดันเปิดด้วยfirefoxแล้วไม่เห็นตัวท้าย
