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

ต้องการรวมข้อมูลของแต่ละคอลัมภ์ที่อยู่คนละบรรทัดให้มารวมกันเป็นบรรทัดเดียว

ฟอรัมถาม-ตอบ Power Query, PivotTable, Power Pivot, Data Model, Chart, Dashboard
hanuaggie61
Member
Member
Posts: 31
Joined: Wed Apr 17, 2019 12:22 am
Excel Ver: Office 365

ต้องการรวมข้อมูลของแต่ละคอลัมภ์ที่อยู่คนละบรรทัดให้มารวมกันเป็นบรรทัดเดียว

#1

Post by hanuaggie61 »

ผมมีข้อมูลเป็นการเติมน้ำมันของรถแต่ละคันในแต่ละวัน

ต้องการรู้ว่ารถแต่ละคันเติมน้ำมันวันไหนบ้าง จึงได้ใช้ Power Query รวมไฟล์น้ำมันของแต่ละวันมาเป็นตารางเดียว
จากนั้น
- สร้าง Run No. เป็นวันที่ออกมา
- ใช้คำสั่ง Pivot เพื่อให้ Run No. ไปเป็นชื่อคอลัมภ์ใหม่ทางด้านท้ายพร้อมข้อมูลค่าน้ำมัน
จะได้ตามรูปสีเหลือง
Image

ซึ่งตอนนี้ติดปัญหาว่าทำอย่างไรถึงจะเอาค่าน้ำมันที่อยู่คนละบรรทัดในรถคันเดียวกัน
=>ให้มารวมอยู่ในบรรทัดเดียวกันได้ครับ ตามรูปสีเขียว (วันที่หลังจากรวมกันแล้วเดี๋ยวผมเอาออกได้ครับ)

* หากเป็นคำสั่งของ Power Query ได้ก็จะดีครับ หากไม่ได้ไม่เป็นไรครับ เป็นสูตรแยกมาทำต่อก็ได้ครับ
(Office 2013 แต่หากต้องใช้สูตร 365 ก็ได้ครับ ผมพยายามทำสูตร Ver.เก่าไว้ก่อน เพราะบางเครื่องของคนที่จะให้รันตัวนี้ยังไม่ได้อัพเป็น 365 ครับ)
Image
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: ต้องการรวมข้อมูลของแต่ละคอลัมภ์ที่อยู่คนละบรรทัดให้มารวมกันเป็นบรรทัดเดียว

#2

Post by snasui »

:D กรุณาแนบไฟล์ Excel ตัวอย่างมาด้วยจะได้สะดวกต่อการตอบของเพื่อนสมาชิกครับ

สำหรับการแนบรูป แนบไฟล์ ดูกฎการใช้บอร์ด (Forum rules) ข้อ 4 ด้านบนประกอบด้วยครับ :roll:
hanuaggie61
Member
Member
Posts: 31
Joined: Wed Apr 17, 2019 12:22 am
Excel Ver: Office 365

ต้องการรวมข้อมูลของแต่ละคอลัมภ์ที่อยู่คนละบรรทัดให้มารวมกันเป็นบรรทัดเดียว

#3

Post by hanuaggie61 »

ผมมีข้อมูลเป็นการเติมน้ำมันของรถแต่ละคันในแต่ละวัน
ต้องการรู้ว่ารถแต่ละคันเติมน้ำมันวันไหนบ้าง จึงได้ใช้ Power Query รวมไฟล์น้ำมันของแต่ละวันมาเป็นตารางเดียว
จากนั้น
- สร้าง Run No. เป็นวันที่ออกมา
- ใช้คำสั่ง Pivot เพื่อให้ Run No. ไปเป็นชื่อคอลัมภ์ใหม่ทางด้านท้ายพร้อมข้อมูลค่าน้ำมัน

ซึ่งตอนนี้ติดปัญหาว่าทำอย่างไรถึงจะเอาค่าน้ำมันที่อยู่คนละบรรทัดในรถคันเดียวกัน
=>ให้มารวมอยู่ในบรรทัดเดียวกันได้ครับ โดยมีตัวเชื่อมเป็นทะเบียนรถครับ

* หากเป็นคำสั่งของ Power Query ได้ก็จะดีครับ หากไม่ได้ไม่เป็นไรครับ เป็นสูตรแยกมาทำต่อก็ได้ครับ
(ใช้ Office 2013 แต่หากต้องใช้สูตร 365 ก็ได้ครับ ผมพยายามทำสูตร Ver.เก่าไว้ก่อน เพราะบางเครื่องของคนที่จะให้รันตัวนี้ยังไม่ได้อัพเป็น 365 ครับ)


ข้อมูล
DATA.jpg
DATA.jpg (42.75 KiB) Viewed 45 times
โจทย์ (ผลลัพธ์จากการดึง Query แรกครับ)
โจทย์.jpg
โจทย์.jpg (42.61 KiB) Viewed 45 times
ผลลัพธ์สุดท้ายที่ต้องการ
คำตอบ.jpg
คำตอบ.jpg (28.39 KiB) Viewed 45 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: ต้องการรวมข้อมูลของแต่ละคอลัมภ์ที่อยู่คนละบรรทัดให้มารวมกันเป็นบรรทัดเดียว

#5

Post by snasui »

:D ดูตัวอย่างการสร้างรายงานด้วย PivotTable ในชีต "ชีตที่อยากได้" ตามไฟล์แนบครับ
Attachments
รายงานการใช้น้ำมันประจำเดือน ก.พ. 66.xlsx
(35.08 KiB) Downloaded 3 times
User avatar
norkaz
Gold
Gold
Posts: 1808
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: ต้องการรวมข้อมูลของแต่ละคอลัมภ์ที่อยู่คนละบรรทัดให้มารวมกันเป็นบรรทัดเดียว

#6

Post by norkaz »

...

แบบสูตร

A2:Cxx

=IFERROR(INDEX(โจทย์!B:B,AGGREGATE(15,6,ROW($B$2:$B$42)/(MATCH(โจทย์!$B$2:$B$38,โจทย์!$B$2:$B$38,0)=ROW($B$2:$B$42)-ROW($B$2)+1),ROWS(A$2:A2))),"")

D2:Lxx

=SUMPRODUCT(($A2=โจทย์!$B$2:$B$38)*(DAY(โจทย์!$A$2:$A$38)=--D$1)*(โจทย์!$E$2:$M$38))

** เพื่อนสมาชิกกรุณาคลิกโฆษณา หน้าเพจ เพื่อเป็นการสนับสนุนฟอรั่ม

Norkaz
Attachments
รายงานการใช้น้ำมันประจำเดือน ก.พ. 66.xlsx
(30.94 KiB) Downloaded 5 times
hanuaggie61
Member
Member
Posts: 31
Joined: Wed Apr 17, 2019 12:22 am
Excel Ver: Office 365

Re: ต้องการรวมข้อมูลของแต่ละคอลัมภ์ที่อยู่คนละบรรทัดให้มารวมกันเป็นบรรทัดเดียว

#7

Post by hanuaggie61 »

snasui wrote: Tue Feb 28, 2023 9:11 pm :D ดูตัวอย่างการสร้างรายงานด้วย PivotTable ในชีต "ชีตที่อยากได้" ตามไฟล์แนบครับ
ขอบคุณมากครับ ได้ความรู้ใหม่เรืองการจัดรูปแบบโครงสร้าง Pivot จริงๆติดและสงสัยมามานานแล้วครับว่ามันทำได้ไหม
เพราะเวลาดึงปกติข้อมูลมาลงในแถว ถ้ามีหลายอันมันจะขึ้นบรรทัดใหม่เป็นย่อหน้า ต้องยุบถึงจะโชว์บรรทัดเดียวแต่ข้อมูลชั้นที่2+3+อื่นๆ ก็จะหายไปด้วย

พอรู้ว่าทำได้ เลยลองหาตั้งค่าดูจนได้ครับ
ขอบคุณครับ
Pivot1.jpg
Pivot1.jpg (36.5 KiB) Viewed 31 times
Pivot2.jpg
Pivot2.jpg (38.49 KiB) Viewed 31 times
hanuaggie61
Member
Member
Posts: 31
Joined: Wed Apr 17, 2019 12:22 am
Excel Ver: Office 365

Re: ต้องการรวมข้อมูลของแต่ละคอลัมภ์ที่อยู่คนละบรรทัดให้มารวมกันเป็นบรรทัดเดียว

#8

Post by hanuaggie61 »

norkaz wrote: Tue Feb 28, 2023 11:04 pm ...

แบบสูตร

A2:Cxx

=IFERROR(INDEX(โจทย์!B:B,AGGREGATE(15,6,ROW($B$2:$B$42)/(MATCH(โจทย์!$B$2:$B$38,โจทย์!$B$2:$B$38,0)=ROW($B$2:$B$42)-ROW($B$2)+1),ROWS(A$2:A2))),"")

D2:Lxx

=SUMPRODUCT(($A2=โจทย์!$B$2:$B$38)*(DAY(โจทย์!$A$2:$A$38)=--D$1)*(โจทย์!$E$2:$M$38))

** เพื่อนสมาชิกกรุณาคลิกโฆษณา หน้าเพจ เพื่อเป็นการสนับสนุนฟอรั่ม

Norkaz

ขอบคุณมากครับ
ขอศึกษาแกะสูตร เพื่อนำไปประยุกต์ใช้ครับ
Post Reply