: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

ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
natsuda
Member
Member
Posts: 19
Joined: Sun Feb 14, 2016 8:15 pm

ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#1

Post by natsuda »

คือพอดีต้องการให้มีการเพิ่มข้อมูลใหม่เอามาถ้าเจอว่ามีข้อมูลตัวนั้นอยู่แล้วให้รวมค่ามาอยู่บรรทัดเดียวกัน แล้วตัวที่เพิ่มเข้ามาไม่แสดงให้เห็นคะ ช่วยหน่อยนะคะ
You do not have the required permissions to view the files attached to this post.
User avatar
XDoll
Bronze
Bronze
Posts: 261
Joined: Sun Mar 03, 2013 9:23 pm

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#2

Post by XDoll »

:roll: ยังไม่เข้าใจคำถามครับ
1.ไม่ทราบคำตอบอยู่ Column ไหนครับ
2."ตัวที่เพิ่มเข้ามาไม่แสดงให้เห็น" นั้น ไม่ทราบว่าไม่ให้แสดงยังไงครับ มีเงื่อนไขใดพิจารณา ให้คีย์ตัวอย่างคำตอบที่ถูกต้อง เงื่อนไขต่างๆมาให้ครบ แล้วแนบไฟล์มาใหม่ครับ
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#3

Post by DhitiBank »

2016-04-18 17_29_00-Microsoft Excel - สมุดงาน2.xlsx [Read-Only].png
งงด้วยคนครับ รบกวนอธิบายให้ละเอียดขึ้นอีกหน่อยได้ไหมครับว่า จากตัวอย่างที่ยกมา ซ้ำอย่างไร ต้องการให้ผลที่ได้เป็นยังไง อ้างอิงเป็นเซลล์เลยครับเช่น ที่เซลล์ C12 ซ้ำกับ C10 อยากให้... (ยกตัวอย่างเฉยๆ ครับ) จะได้สังเกตได้ง่าย ;)

ในตัวอย่างไม่เห็นมีซ้ำเลยครับ ในคอลัมน์ชื่อก็เรียง 1-10 ลองยกตัวอย่างกรณีซ้ำได้ไหมครับ
You do not have the required permissions to view the files attached to this post.
natsuda
Member
Member
Posts: 19
Joined: Sun Feb 14, 2016 8:15 pm

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#4

Post by natsuda »

XDoll wrote::roll: ยังไม่เข้าใจคำถามครับ
1.ไม่ทราบคำตอบอยู่ Column ไหนครับ
2."ตัวที่เพิ่มเข้ามาไม่แสดงให้เห็น" นั้น ไม่ทราบว่าไม่ให้แสดงยังไงครับ มีเงื่อนไขใดพิจารณา ให้คีย์ตัวอย่างคำตอบที่ถูกต้อง เงื่อนไขต่างๆมาให้ครบ แล้วแนบไฟล์มาใหม่ครับ
ขอบคุณที่เข้ามาช่วยนะคะ
แนบคำอธิบายเข้าไปแล้วนะคะ
You do not have the required permissions to view the files attached to this post.
natsuda
Member
Member
Posts: 19
Joined: Sun Feb 14, 2016 8:15 pm

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#5

Post by natsuda »

DhitiBank wrote:
2016-04-18 17_29_00-Microsoft Excel - สมุดงาน2.xlsx [Read-Only].png
งงด้วยคนครับ รบกวนอธิบายให้ละเอียดขึ้นอีกหน่อยได้ไหมครับว่า จากตัวอย่างที่ยกมา ซ้ำอย่างไร ต้องการให้ผลที่ได้เป็นยังไง อ้างอิงเป็นเซลล์เลยครับเช่น ที่เซลล์ C12 ซ้ำกับ C10 อยากให้... (ยกตัวอย่างเฉยๆ ครับ) จะได้สังเกตได้ง่าย ;)

ในตัวอย่างไม่เห็นมีซ้ำเลยครับ ในคอลัมน์ชื่อก็เรียง 1-10 ลองยกตัวอย่างกรณีซ้ำได้ไหมครับ
ขอบคุณที่ช่วยนะคะ
อธิบายไว้ในไฟล์ที่แนบไปใหม่ให้แล้วนะคะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#6

Post by snasui »

:D การทำเช่นนั้นต้องใช้คอลัมน์ช่วยหากจะทำด้วยสูตร ยกเว้นใช้ VBA จึงจะวางข้อมูลในคอลัมน์เดิมได้ครับ

ตัวอย่างการใช้คอลัมน์ช่วย
  1. เซลล์ E4 คีย์สูตรเพื่อเรียงชื่อขึ้นมาใหม่โดยไม่เอาค่าซ้ำ
    =IFERROR(INDEX($B$4:$B$13,SMALL(IF(FREQUENCY(MATCH($B$4:$B$13,$B$4:$B$13),ROW($B$4:$B$13)-ROW($B$4)+1),ROW($B$4:$B$13)-ROW($B$4)+1),ROWS(E$4:E4))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. เซลล์ F4 คีย์สูตรเพื่อหาค่าเฉลี่ยของแต่ละชื่อ
    =IF(LEN(E4),AVERAGE(IF($B$4:$B$13=E4,$C$4:$C$13)),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง

!
Note: Ctrl+Shift+Enter หมายถึง
  1. กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  2. กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน จากนั้นกดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  3. หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
  4. การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง
natsuda
Member
Member
Posts: 19
Joined: Sun Feb 14, 2016 8:15 pm

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#7

Post by natsuda »

snasui wrote::D การทำเช่นนั้นต้องใช้คอลัมน์ช่วยหากจะทำด้วยสูตร ยกเว้นใช้ VBA จึงจะวางข้อมูลในคอลัมน์เดิมได้ครับ

ตัวอย่างการใช้คอลัมน์ช่วย
  1. เซลล์ E4 คีย์สูตรเพื่อเรียงชื่อขึ้นมาใหม่โดยไม่เอาค่าซ้ำ
    =IFERROR(INDEX($B$4:$B$13,SMALL(IF(FREQUENCY(MATCH($B$4:$B$13,$B$4:$B$13),ROW($B$4:$B$13)-ROW($B$4)+1),ROW($B$4:$B$13)-ROW($B$4)+1),ROWS(E$4:E4))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. เซลล์ F4 คีย์สูตรเพื่อหาค่าเฉลี่ยของแต่ละชื่อ
    =IF(LEN(E4),AVERAGE(IF($B$4:$B$13=E4,$C$4:$C$13)),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง

!
Note: Ctrl+Shift+Enter หมายถึง
  1. กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  2. กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน จากนั้นกดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  3. หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
  4. การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง


ถ้าใช้ VBA นี้จะเป็นยังไงอะคะ น่าจะยากกว่านี้ไม่คะ เพราะตัวงานไม่สามารถเพิ่มคอลัมน์ได้แล้วคะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#8

Post by snasui »

:D คำว่า "อะคะ" ให้ใช้คำว่า "คะ" แทน อ่านกฎข้อ 1 ด้านบนประกอบครับ :roll:

การใช้ VBA ยากมาก เพราะเป็นการเขียนโปรแกรม ต้องใช้เวลาและความอดทนในการศึกษาและเรียนรู้ครับ
natsuda
Member
Member
Posts: 19
Joined: Sun Feb 14, 2016 8:15 pm

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#9

Post by natsuda »

snasui wrote::D คำว่า "อะคะ" ให้ใช้คำว่า "คะ" แทน อ่านกฎข้อ 1 ด้านบนประกอบครับ :roll:

การใช้ VBA ยากมาก เพราะเป็นการเขียนโปรแกรม ต้องใช้เวลาและความอดทนในการศึกษาและเรียนรู้ครับ
ขอโทษทีคะ พยายามแล้วจะไม่พิมพ์แต่ติดคะ คือพอมีความรู้เรื่อง VBA อยู่บ้างคะ แต่ยังหาไอเดียไม่ออกว่าจะเขียนออกมายังไงคะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#10

Post by snasui »

:D ผมช่วยเรื่องไอเดียได้ แต่ไม่สามารถเขียนให้ได้ การใช้ VBA ต้องเขียนมาเอง ติดแล้วค่อยถามกัน

ไอเดียคือต้องหาตัวไม่ซ้ำจากข้อมูลเดิม โดยใช้ตัวแปรสำหรับเก็บค่าเดิมทั้งชื่อและค่าเฉลี่ยเอาไว้ จากนั้นนำตัวแปรนั้นมาหาค่าที่ไม่ซ้ำแล้ววางที่เดิม เสร็จแล้วค่อยหาค่าเฉลี่ย เช่นนี้ครับ
natsuda
Member
Member
Posts: 19
Joined: Sun Feb 14, 2016 8:15 pm

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#11

Post by natsuda »

พอลองเปลี่ยนจากตัวเลขมาเป็นตัวหนังสือ ผลที่ออกมาได้ไม่ตรงกันคะ คือมีชื่อซ้ำก็ขึ้น2ช่อง แล้วก็ช์๋อที่มีอันเดียวก็ไม่ขึ้นคะ ช่วยหน่อยนะคะ ขอบคุณคะ
You do not have the required permissions to view the files attached to this post.
User avatar
XDoll
Bronze
Bronze
Posts: 261
Joined: Sun Mar 03, 2013 9:23 pm

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#12

Post by XDoll »

natsuda wrote:พอลองเปลี่ยนจากตัวเลขมาเป็นตัวหนังสือ ผลที่ออกมาได้ไม่ตรงกันคะ คือมีชื่อซ้ำก็ขึ้น2ช่อง แล้วก็ช์๋อที่มีอันเดียวก็ไม่ขึ้นคะ ช่วยหน่อยนะคะ ขอบคุณคะ
:D ที่ C19 แก้เป็น
=IFERROR(INDEX($B$19:$B$27,SMALL(IF(FREQUENCY(MATCH($B$19:$B$27,$B$19:$B$27,0),ROW($B$19:$B$27)-ROW($B$19)+1),ROW($B$19:$B$27)-ROW($B$19)+1),ROWS(C$19:C19))),"") Ctrl+Shift+Enter > คัดลอกลงล่างครับ
natsuda
Member
Member
Posts: 19
Joined: Sun Feb 14, 2016 8:15 pm

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#13

Post by natsuda »

ขอบคุณทุกคนนะคะ ได้แล้วคะ
natsuda
Member
Member
Posts: 19
Joined: Sun Feb 14, 2016 8:15 pm

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#14

Post by natsuda »

ขอสอบถามอีกรอบนะคะ ตอนนี้คือถ้ากรองชื่อไม่ครบตามจำนวนที่เรากำหนดไว้ข้อมูลจะไม่ขึ้น มีทางที่จะทำได้ไม่คะ ถ้าต้องการให้ สมมติตารางกรองชื่อได้10ตัว แต่กรองไป9ตัวข้อมูลก้อขึ้นอะคะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#15

Post by snasui »

:D คำว่า "ก้อ", "อะคะ" ไม่ถูกต้องตามกฎการใช้บอร์ดด้านบน :roll: ระมัดระวังด้วยครับ

จากในไฟล์แนบ
natsuda wrote:คือถ้าต้องการเพิ่มไปที่ละตัวแล้วเพิ่มไปแค่ไม่ถึงตามที่ช่องกำหนดไว้แล้วให้รันค่าได้เลยคะ คือตอนนี้ต้องเพิ่ม10ถึงรันค่า ถ้าเราเพิ่มแค่7--8ตัวก็รันได้ควรทำยังงัยคะ
ผมยังไม่เข้าสิ่งที่เป็นปัญหา ช่วยอธิบายมาใหม่อีกรอบ
natsuda
Member
Member
Posts: 19
Joined: Sun Feb 14, 2016 8:15 pm

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#16

Post by natsuda »

จากสูตรในช่องC29 มันจะทำงานก็ต่อเมื่อกรอกครบตามจำนวนเซลล์ที่เรากำหนดคะคือตั้งแต่C29-C38 แต่ที่อยากได้คือกรอกข้อมูลไม่ครบทุกเซลล์ก็สามารถรันข้อมูลได้คะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้ค่าซ้ำกันรวมเป็นค่าเดียวกันและนำมาหาค่าเฉลี่ย

#17

Post by snasui »

:D เซลล์ C19 ปรับสูตรเป็นด้านล่างครับ

=IFERROR(INDEX($B$19:$B$27,SMALL(IF(FREQUENCY(IF($B$19:$B$27<>"",MATCH($B$19:$B$27,$B$19:$B$27,0)),ROW($B$19:$B$27)-ROW($B$19)+1),ROW($B$19:$B$27)-ROW($B$19)+1),ROWS(C$19:C19))),"")

Ctrl+Shift+Enter > Copy ลงด้านล่าง
Post Reply