: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
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

การ Pivot ข้อมูลที่คั่นด้วยลูกน้ำ

ฟอรัมถาม-ตอบ Power Query, PivotTable, Power Pivot, Data Model, Chart, Dashboard
Chonlakritzz
Member
Member
Posts: 14
Joined: Sun Feb 21, 2016 3:05 am

การ Pivot ข้อมูลที่คั่นด้วยลูกน้ำ

#1

Post by Chonlakritzz »

รบกวนสอบถามครับ
พอดีผมใช้เครื่องมือ Google Form ในการรวบรวมคำตอบสินค้าที่ขาดจากน้องๆ ที่อยู่คนละสาขา
ซึ่งรวบรวมได้สะดวกมาก แต่ พอได้คำตอบมา ผม Pivot ไม่ได้เนื่องจาก ข้อมูลเป็นแบบนี้ มีลูกน้ำคั่น

ตัวอย่าง (ในเอกสารแนบ)

8850002017580 ยาสีฟันซิสเท็มม่าสปริง 160 กรัม, 8850002026254 แปรงซอลส์ดิฟแอนด์แนโรว์แอ็คทิฟ, 8850002008953 ยาสีฟันซอลส์เฟรช 90 กรัม

สิ่งที่อยากได้
8850002017580 ยาสีฟันซิสเท็มม่าสปริง 160 กรัม
8850002026254 แปรงซอลส์ดิฟแอนด์แนโรว์แอ็คทิฟ
8850002008953 ยาสีฟันซอลส์เฟรช 90 กรัม


หรือแบบไหนก็ได้ครับที่ให้ผม Pivot สรุปข้อมูลได้
Attachments
Pivot ข้อมูลหลังลูกน้ำ.xlsx
(14.3 KiB) Downloaded 11 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การ Pivot ข้อมูลที่คั่นด้วยลูกน้ำ

#2

Post by snasui »

:D แจ้งให้น้องๆ กรอกข้อมูลมาเป็น Database แทนการคั่นด้วยลูกน้ำ หรือติดปัญหาใดที่ไม่สามารถทำเป็น Database ได้ครับ :?:

หากติดปัญหาจำเป็นจะต้องแปลงข้อมูลที่คั่นด้วยลูกน้ำมาเป็นข้อมูลแยกบรรทัดเสียก่อนด้วย VBA ซึ่งต้องเขียนมาเองก่อน ติดแล้วค่อยถามกันต่อครับ
Chonlakritzz
Member
Member
Posts: 14
Joined: Sun Feb 21, 2016 3:05 am

Re: การ Pivot ข้อมูลที่คั่นด้วยลูกน้ำ

#3

Post by Chonlakritzz »

ตอบคำถามแรก ตัวฟอร์มจาก Google ครับ ซึ่งคนกรอกจะกรอกง่าย แต่เบื้องหลังข้อมูลจะรวมมาครับ

ขอถามเพิ่มครับอาจารย์ พอดีผมยังไม่เก่งเรื่อง VBA
1.ถ้าผมแยกข้อมูลออกมา Text to Column แล้วจะนำข้อมูลจากคอลัมภ์สินค้าที่ 2 (คอลัมภ์ E) เป็นต้นไป
ให้มาต่อด้านล่างของคอลัมภ์สินค้าที่ 1 (คอลัมภ์ D) โดยให้มี ชื่อสาขาและวันที่มาด้วยได้ไหมครับ

ตามไฟล์แนบคือ ฃ่องที่มีสีต่างๆ ให้มาอยู่ในตำแหน่งตามสีด้านล่างครับ

ปล.สุดท้ายถ้าต้องใช้เรื่อง VBA จริงๆอาจารย์บอกนะครับ
Attachments
รวมคำตอบ OOS .xlsx
(11.7 KiB) Downloaded 10 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การ Pivot ข้อมูลที่คั่นด้วยลูกน้ำ

#4

Post by snasui »

:D ตัวอย่างการใช้สูตรครับ
  1. ที่ชีต Lotus แทรกคอลัมน์หน้าสุด 2 คอลัมน์เพื่อเป็นคอลัมน์ช่วย
    1. เซลล์ B2 คีย์สูตรเพื่อนับค่าที่ไม่เป็นค่าว่างในบรรทัดนั้น ๆ
      =COUNTA(E2:K2)
      Enter > Copy ลงด้านล่าง
    2. เซลล์ A2 คีย์สูตรเพื่อให้หมายเลขบรรทัดที่เริ่มข้อมูลหากนำค่าในข้อ 1 มาเรียงต่อกัน
      =SUM(B$2:B2)-B2+1
      Enter > Copy ลงด้านล่าง
    3. เซลล์ B24 รวมยอดค่าในเซลล์ B2:B23 คีย์สูตร
      =SUM(B2:B23)
      Enter
  2. เพิ่ม Sheet1 เพื่อทำเป็น Database ใหม่
    1. เซลล์ A1:D1 คีย์ค่า Line, Lotus สาขา, วันที่ และ สินค้าที่ OOS ตามลำดับ
    2. เซลล์ A2 คีย์สูตร
    3. =IF(ROWS(B$2:B2)>Lotus!$B$24,"",LOOKUP(ROWS(B$2:B2),Lotus!$A$2:$A$23,Lotus!A$2:A$23))
      Enter > Copy ลงด้านล่าง
    4. เซลล์ B2 คีย์สูตร
      =IF(ROWS(C$2:C2)>Lotus!$B$24,"",LOOKUP(ROWS(C$2:C2),Lotus!$A$2:$A$23,Lotus!D$2:D$23))
      Enter > Copy ไปยัง C2 แล้ว Copy เซลล์ B2:C2 ลงด้านล่าง
    5. เซลล์ D2 คีย์สูตร
      =IF(N(A2),INDEX(Lotus!$E$2:$K$23,MATCH(A2,Lotus!$A$2:$A$23,0),COUNTIF(A$2:A2,A2)),"")
      Enter > Copy ลงด้านล่าง
  3. นำ Database ตามข้อ 2 ไปทำ PivotTable ตามต้องการ
Chonlakritzz
Member
Member
Posts: 14
Joined: Sun Feb 21, 2016 3:05 am

Re: การ Pivot ข้อมูลที่คั่นด้วยลูกน้ำ

#5

Post by Chonlakritzz »

ขอบคุณครับอาจารย์ประหยัดเวลาไปเยอะเลย
แต่ผมต้องแก้ ข้อ 4 เป็นเซลล์ B2 C$2:C$23 ก่อน แล้วค่อย Copy>วางเปลี่ยนเป็น D$2:D$23 ถูกไหมครับ

เซลล์ B2 คีย์สูตร
=IF(ROWS(C$2:C2)>Lotus!$B$24,"",LOOKUP(ROWS(C$2:C2),Lotus!$A$2:$A$23,Lotus!D$2:D$23))
Enter > Copy ไปยัง C2 แล้ว Copy เซลล์ B2:C2 ลงด้านล่าง
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การ Pivot ข้อมูลที่คั่นด้วยลูกน้ำ

#6

Post by snasui »

:D ตามที่ผมแจ้งไปนั้นสูตรจะเปลี่ยนเอง ไม่ต้องแก้ไขอะไรอีกครับ

หากยังไม่ได้คำตอบให้แนบไฟล์ที่ปรับปรุงเองแล้วมาดูกันอีกทีครับ
Post Reply