:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

แจกไฟล์แสดงการรวมข้อมูลที่ไม่เป็นระเบียบให้เป็น Database

ฟอรัมสำหรับแจกจ่ายแบ่งปันไฟล์ รวมทั้งแหล่งความรู้ต่าง ๆ เกี่ยวกับ Excel
User avatar
snasui
Site Admin
Site Admin
Posts: 30746
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

แจกไฟล์แสดงการรวมข้อมูลที่ไม่เป็นระเบียบให้เป็น Database

#1

Post by snasui »

:D เป็นไฟล์แสดงตัวอย่างสูตรการนำข้อมูลในชีตเดียวกันที่วางไม่เป็นระเบียบ อาจจะมีการซ้อนกันและมีคอลัมน์ว่างประกอบอยู่ด้วย ตังภาพด้านล่าง
CloudToDB_Pic
CloudToDB_Pic
ChangeCloudToDatabase.png (59.64 KiB) Viewed 962 times
:D ตัวอย่างสูตรตามด้านล่างครับ
  1. ที่ G1 คีย์
    =IFERROR(COUNTIF(INDEX(($G$12:$G$14,$M$10:$M$13,$I$16:$I$17,$F$19:$F$23,$N$19),,,ROWS(G$1:G1)),"<>"),"")
    Enter > Copy ลงด้านล่าง
  2. ที่ H1 คีย์
    =IF(G1="","",SUM(G$1:G1)-G1+1)
    Enter > Copy ลงด้านล่าง
  3. ที่ I1 คีย์
    =IF(G1="","",COUNT(G$1:G1))
    Enter > Copy ลงด้านล่าง
  4. ที่ E2 คีย์
    =IF(ROWS(E$2:E2)>SUM($G$1:$G$5),"",LOOKUP(ROWS(E$2:E2),$H$1:$H$5,$I$1:$I$5))
    Enter > Copy ลงด้านล่าง
  5. ที่ A2 คีย์
    =IF($E2="","",INDEX(OFFSET(INDEX(($G$12:$G$14,$M$10:$M$13,$I$16:$I$17,$F$19:$F$23,$N$19),,,$E2),,,,50),COUNTIF($E$2:$E2,$E2),MATCH(A$1,OFFSET(INDEX(($G$12:$G$14,$M$10:$M$13,$I$16:$I$17,$F$19:$F$23,$N$19),,,$E2),-1,,1,50),0)))
    Enter > Copy ไปด้านขวาและลงด้านล่าง
Attachments
ListDataFromMultipleAreas.xlsm
CloudToDB_File
(19.55 KiB) Downloaded 152 times