snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ
ฟอรัมสำหรับแจกจ่ายแบ่งปันไฟล์ รวมทั้งแหล่งความรู้ต่าง ๆ เกี่ยวกับ Excel
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#1
Post
by snasui » Wed Apr 17, 2019 4:05 pm
แจกไฟล์ตัวอย่างสูตรแสดงการนำข้อมูลจากหลายคอลัมน์เฉพาะเซลล์ที่ไม่เป็นค่าว่างมาเรียงต่อเนื่องกันไปในคอลัมน์เดียว
จากไฟล์แนบ ช่วงเซลล์ D2:G5 เป็นข้อมูลต้นทางประกอบด้วยเซลล์ที่มีค่าและเซลล์ว่าง ต้องการนำเฉพาะเซลล์ที่ไม่ว่างมาเรียงใหม่ในคอลัมน์ A โดยเริ่มจาก A2
ที่เซลล์ A2 คีย์สูตร
=IFERROR(INDEX($1:$1048576,SMALL(IF($D$2:$G$5<>"",ROW($D$2:$D$5)),ROWS(A$2:A2)),MOD(SMALL(IF($D$2:$G$5<>"",--(ROW($D$2:$D$5)&"."&COLUMN($D$5:$G$5))),ROWS(A$2:A2))*10,10)),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง หรือ
=IFERROR(INDIRECT("R"&SUBSTITUTE(SMALL(IF($D$2:$G$5<>"",--(ROW($D$2:$D$5)&"."&COLUMN($D$2:$G$2))),ROWS(A$2:A2)),".","C"),0),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง หรือ
=IFERROR(INDEX($1:$1048576,AGGREGATE(15,6,ROW($D$2:$D$5)/($D$2:$G$5<>""),ROWS(A$2:A2)),MOD(AGGREGATE(15,6,(ROW($D$2:$D$5)&"."&COLUMN($D$5:$G$5))/($D$2:$G$5<>""),ROWS(A$2:A2))*10,10)),"")
Enter > Copy ลงด้านล่าง
Attachments
CreateListFromMultipleColumnsToOneColumn.xlsm
(15.92 KiB) Downloaded 309 times