: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
sup
Member
Member
Posts: 136
Joined: Mon Sep 13, 2010 11:36 am

การนับข้อมูลในตารางกลุ่มข้อมูลด้วย Pivot

#1

Post by sup »

สวัสดีครับอาจารย? และท่านผู้รู้ทุกท่านครับ

ห่างหายไปนานครับ พอกลับมาก็มีเรื่องมาถามเลยครับ ผมได้ศึกษาการทำ Pivot Table และได้ดู Tip ของอาจารย์เรื่องการนับข้อมูลจากตารางกลุ่มข้อมูล ด้วย Multiple Consulidation แล้วเกิดข้อสงสัยครับว่า
ผมมีตารางข้อมูลที่สามารถเพิ่มข้อมูลเข้าไปอยู่เรื่อยๆทุกวันได้(ตาม Sheet1) แล้วผมทำ Pivot Multiple ให้นับข้อมูลเป็นกลุ่มไว้แล้ว หลังจากนั้นเมื่อมีการเพิ่มข้อมูลในตารางเข้าไป จะทำให้ตาราง Pivot เดิมที่นับข้อมูลเป็นกลุ่มไว้ครั้งแรก Update ข้อมูลตามได้ครับ(ให้ได้คำตอบตาม Sheet 2 ตารางที่ 4)
ผมลองทำแล้วทำไม่ได้ครับ ไม่ทราบว่าสิ่งที่ผมคิดนี้ Pivot table สามารถทำได้ไหม(จะได้ไม่ต้องทำตารางบ่อยๆ แค่รัเฟรชก็Up dateแล้ว) หากสามารถทำได้มีวิธีการทำอย่างไรครับ ช่วยชี้แนะด้วยครับ

ขอบคุณล่วงหน้าครับ
Attachments
Pivot ด้วยย multiple สรุปจากกลุ่มข้อมูล.xls
(203.5 KiB) Downloaded 9 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 »

sup wrote:ผมมีตารางข้อมูลที่สามารถเพิ่มข้อมูลเข้าไปอยู่เรื่อยๆทุกวันได้(ตาม Sheet1) แล้วผมทำ Pivot Multiple ให้นับข้อมูลเป็นกลุ่มไว้แล้ว หลังจากนั้นเมื่อมีการเพิ่มข้อมูลในตารางเข้าไป จะทำให้ตาราง Pivot เดิมที่นับข้อมูลเป็นกลุ่มไว้ครั้งแรก Update ข้อมูลตามได้ครับ(ให้ได้คำตอบตาม Sheet 2 ตารางที่ 4)
:lol: เป็นการทำข้อมูลที่ไม่ถูกต้องตามที่ควรจะเป็น

จาก Sheet1 เซลล์ D3:D18, E3:E18 ควรนำไปเรียงต่อในคอลัมน์ C ไม่ใช่เรียงไปด้านขวาเรื่อย ๆ

Tips ที่ผมแนะนำไปนั้นเป็นการสรุปผลในขั้นสุดท้ายเพื่อความสะดวกในการนับ แต่หากข้อมูลมีการเพิ่มอยู่เรื่อย ๆ ก็ต้องทำใหม่อยู่เรื่อยไปครับ
sup
Member
Member
Posts: 136
Joined: Mon Sep 13, 2010 11:36 am

Re: การนับข้อมูลในตารางกลุ่มข้อมูลด้วย Pivot

#3

Post by sup »

ขอบคุณครับอาจารย์

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

sup wrote:ข้อมูลที่มีการเรียงตามตัวอย่างนั้นเพราะว่ามีการนำไปใช้ออย่างอื่นด้วยครับ เลยออกมาน่าตาแบบนั้
:D การทำข้อมูลลักษณะนั้นเป็นการสร้างข้อจำกัดให้ตัวเองครับ ข้อมูลควรทำเป็น Database และเป็นเช่นนี้เสมอไปจึงจะเหมาะกับการนำไปสรุปในรูปแบบต่าง ๆ

สำหรับตามที่ถามมาลองตามด้านล่าง
  1. Copy ตารางด้านบนมาวางแบบค่าและรูปแบบ
  2. ที่ H24 คีย์สูตร
    =SUM(MMULT(IF($C$3:$E$18=H$23,1,0),TRANSPOSE(IF(COLUMN($C$2:$E$2)-COLUMN($C$2)+1,1)))*($B$3:$B$18=$G24))
    Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง

!
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
Attachments
MmultCount.png
MmultCount.png (32.98 KiB) Viewed 55 times
sup
Member
Member
Posts: 136
Joined: Mon Sep 13, 2010 11:36 am

Re: การนับข้อมูลในตารางกลุ่มข้อมูลด้วย Pivot

#5

Post by sup »

ขอบคุณครับอาจารย์

รบกวนอธิบายความหมายหน่อยครับ เพื่อความเข้าใจ และนำไปประยุคต์ใช้ครับ
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 »

:lol: จะเข้าใจสูตรนั้นได้จะต้องเข้าใจ Mmult เสียก่อนครับ :arrow: http://office.microsoft.com/th-th/excel ... aspx?CTT=1 ลองค่อย ๆ แกะสูตรด้วย F9 ดูครับ การอธิบายจะใช้เวลามาก

สูตรข้างต้นปรับให้สั้นลงได้อีกหน่อยเป็น

=SUM(MMULT(--($C$3:$E$18=H$23),TRANSPOSE(--(COLUMN($C$2:$E$2)>0)))*($B$3:$B$18=$G24))

โดยคร่าว ๆ เป็นการรวมผลคูณของ MMULT(--($C$3:$E$18=H$23),TRANSPOSE(--(COLUMN($C$2:$E$2)>0))) กับ $B$3:$B$18=$G24
sup
Member
Member
Posts: 136
Joined: Mon Sep 13, 2010 11:36 am

Re: การนับข้อมูลในตารางกลุ่มข้อมูลด้วย Pivot

#7

Post by sup »

ขอบคุณครับอาจารย์

ผมคาดว่าน่าจะได้ประโยชน์จากสูตรนี้มากเลยครับ หากติดตรงไหนจะเข้ามาถามต่อครับ ขอศึกษาสักระยะหนึ่งก่อนครับ
Post Reply