Page 1 of 1
ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEออก
Posted: Wed Apr 03, 2013 5:36 pm
by zolox
ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEออก
โดยลองใช้สูตร =INDEX(Sheet1!$B$2:$V$45,INT((ROWS(A$2:A2)-1)/21)+1,MOD(ROWS(A$2:A2)-1,21)+1)
สามารถเรียงข้อมูลจากแนวนอน(sheet1)ให้เป็นแนวตั้ง(sheet2) แต่ติดปัญหาคือ มีค่าFALSEในการเรียงข้อมูลตามแนวตั้งด้วย
คำถาม คือ จะตัดค่าFALSEออกอย่างไรครับ รายละเอียดตามfileแนบ
ขอบคุณครับ
Formula-RowtoColumn.xlsx
Re: ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEอ
Posted: Wed Apr 03, 2013 6:19 pm
by snasui

ลองตามนี้ครับ
ที่ Sheet2 เซลล์ B2 คีย์
=IFERROR(INDEX($A$2:$A$134,SMALL(IF(ISNUMBER($A$2:$A$134),ROW($A$2:$A$134)-ROW($A$2)+1),ROWS(B$2:B2))),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง เพื่อตัดค่า False ทิ้งไป
!
| Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง |
Re: ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEอ
Posted: Wed Apr 03, 2013 6:53 pm
by zolox
ที่ sheet2 ;cell A2 สามารถทำให้เรียงข้อมูลจากแนวนอนsheet1 ให้เป็นข้อมูลแนวตั้งที่ sheet 2 ; cell A2 ในสูตรเดียวเลยได้ไหมครับ และตัดFALSEออก เพราะจะได้ไม่ต้องใช้สูตร 2ครั้งครับ
ขอบคุณครับที่ช่วยเหลือครับ
Re: ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEอ
Posted: Wed Apr 03, 2013 6:55 pm
by snasui

ทำได้เลยครับ ลองเขียน VBA มาก่อน ติดตรงไหนค่อยมาถามกันครับ

Re: ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEอ
Posted: Wed Apr 03, 2013 7:05 pm
by zolox
แสดงว่าใช้สูตร excel ปกติ ทำไม่ได้ใช่ไหมครับ
Re: ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEอ
Posted: Wed Apr 03, 2013 7:10 pm
by snasui

คิดว่าทำได้แต่ยังไม่ได้ลอง เพราะต้องใช้เวลา มีปัญหาอะไรถึงต้องการใช้สูตรเดียวครับ

Re: ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEอ
Posted: Thu Apr 04, 2013 10:18 am
by zolox
คือเมื่อแปลงข้อมูลในแนวนอนใน sheet1 ให้เป็นแนวตั้ง แล้วติดค่า FALSE มาด้วย ทำให้ ข้อมูลที่เป็นตัวเลข ไม่ได้ต่อๆกันไป จึงไม่รู้ว่าจะ copy สูตรไปถึงไหนครับ
เพราะถ้าทำให้ข้อมูล เรียงตาม row ไปเรื่อยๆ พอเจอ false หรือ ค่าว่าง ก็แสดงว่าเป็น field สุดท้ายครับ
ขอบคุณครับสำหรับสูตรที่ช่วยเบื้องต้นครับผม
Re: ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEอ
Posted: Thu Apr 04, 2013 10:32 am
by snasui

การที่จะกรองเอาค่าเฉพาะตัวเลขไม่ใช่เป็นเรื่องยาก และจากที่แจ้งมาก็ไม่จำเป็นต้องเป็นสูตรเดียว หากติดปัญหาเรื่องการกรองข้อมูลที่ได้จากสูตรแจ้งมาอีกรอบ เพราะผมเห็นว่าเรื่องการกรองน่าจะเป็นเรื่องที่ไม่ยากครับ
Re: ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEอ
Posted: Thu Apr 04, 2013 10:46 am
by snasui

เพิ่มเติมครับ
จาก
zolox wrote:คือเมื่อแปลงข้อมูลในแนวนอนใน sheet1 ให้เป็นแนวตั้ง แล้วติดค่า FALSE มาด้วย ทำให้ ข้อมูลที่เป็นตัวเลข ไม่ได้ต่อๆกันไป จึงไม่รู้ว่าจะ copy สูตรไปถึงไหนครับ
ได้ลอง Copy สูตรไปเรื่อย ๆ แล้วยังครับ
ถ้า Copy ไปจนสุดข้อมูลที่มีแล้วย่อมแยกได้ว่า เซลลไหนคือเซลล์สุดท้ายของข้อมูล
Re: ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEอ
Posted: Thu Apr 04, 2013 8:11 pm
by snasui

จากตัวอย่างที่ยกมา เป็นตัวเลขและเรียงจากซ้ายไปขวาและเรียงจากน้อยไปมาก สามารถใช้สูตรในการเรียงข้อมูลที่ Sheet2 เซลล์ B2 เป็นด้านล่างครับ
=SMALL(Sheet1!$B$2:$V$45,ROWS(A$2:A2))
Enter > Copy ลงด้านล่างจนพบค่าผิดพลาดเป็น #NUM!
Re: ให้ค่าสูตรจากแนวนอนให้เป็นแนวตั้งโดยตัดค่าว่างหรือFALSEอ
Posted: Fri Apr 26, 2013 11:48 am
by zolox
ขอบคุณมากครับอาจารย์ สำหรับคำแนะนำ