snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ
ฟอรัมสำหรับฝึกแก้ปัญหา สนทนาปราศรัย Update เรื่องทั่วไป
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 Aug 02, 2023 8:50 pm
โจทย์เรียงข้อมูล นำข้อมูลสะเปะสะปะมาเรียงใหม่ให้เป็น Database ครับ
Attachments
RearrangeData.xlsx
(11.8 KiB) Downloaded 322 times
Rearrange.jpg (61.43 KiB) Viewed 11795 times
norkaz
Gold
Posts: 1805 Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365
#2
Post
by norkaz » Wed Aug 02, 2023 11:18 pm
...
A1
=VSTACK(F2:I2,SORT(VSTACK(FILTER(HSTACK(F3:H20,IF(I3:I20="",J3:J20,I3:I20)),ISNUMBER(F3:F20)),FILTER(G3:J20,ISNUMBER(G3:G20)))))
**สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาหน้าเพจ***
Norkaz
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#3
Post
by snasui » Fri Aug 04, 2023 9:26 am
อีกแนวแบบเผื่อคอลัมน์ว่างแบบไม่คงที่ครับ
เซลล์ A16
=VSTACK(FILTER(F2:K2,F2:K2<>""),SORT(MAP(TEXTSPLIT(LET(z,TEXTJOIN(",",,MAP(F2:F20,LAMBDA(a,LET(b,INDEX(F1:L21,ROW(a),0),TEXTJOIN("|",,IF(COUNT(b)=3,FILTER(b,b<>""),"")))))),z),"|",","),LAMBDA(n,IF(ISNUMBER(n+0),n+0,n))),1))
Attachments
RearrangeData.xlsx
(13.14 KiB) Downloaded 320 times