หน้าเว็บบอร์ด Knowledge Excel หาค่าที่ซ้ำกันแบบอัตโนมัติ

หาค่าที่ซ้ำกันแบบอัตโนมัติ

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA

กฎการใช้บอร์ด

  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบไฟล์ตัวอย่างมาแทนไฟล์จริงประกอบคำถาม เพื่อป้องกันข้อมูลสำคัญรั่วไหล นอกจากนี้ยังช่วยเพิ่มความสะดวกในการตอบคำถาม
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

dpost Member
Member

โพสต์: 7
เรียน ท่านผู้รู้ทุกท่านครับ
ช่วยดูงานให้ด้วยนะครับ
แนบไฟล์มาให้แล้วครับ
คุณไม่มีสิทธิ์ดูไฟล์ที่แนบมาในกระทู้

bank9597 ภาพประจำตัวสมาชิก
Guru
Guru

โพสต์: 3447
:D ลองดูสูตรนี้ว่าใช้ได้ไหมครับ

ที่ B1 คีย์ =COUNTIF($A$1:$A$10,A1) แล้วคัดลอกลงมาครับ
รูปภาพ Facebook รูปภาพ Google+ รูปภาพ Twitter รูปภาพ เว็บไซต์ รูปภาพ พุทโธโลยี

snasui ภาพประจำตัวสมาชิก
Site Admin
Site Admin

โพสต์: 15317
ที่อยู่: Songkhla, Thailand

:D
แล้วถ้าไม่ระบุตัวเลขใน column A1:A10 ได้ไหม เช่น ถ้าเราพิมพ์เลขที่เหมือนกันลงไปแล้วให้หาจำนวนตัวเลขที่ซ้ำกันเองแบบอัตโนมัติได้ไหมครับ
จากที่ถามมายังไม่ค่อยเคลียร์ครับ การหาว่าซ้ำกันหรือไม่ ซ้ำกันจำนวนเท่าใด ปกติจะต้องบอกโปรแกรมให้ทราบว่าเรากำลังจะหาตัวเลขใดว่าซ้ำกันกี่ครั้งครับ
คนควน รูปภาพ รูปภาพ รูปภาพ รูปภาพ
MVP-Excel (2010-2014)

dpost Member
Member

โพสต์: 7
ผมเองก็งง กับที่อาจารย์สอนอยู่ครับ แต่ที่จับใจความได้
คือ ถ้าต้องการให้ คอลัมน์ A1:A10 ตรวจสอบค่าที่เราคีย์ลงไป ถ้าค่าไหนซ้ำกัน ใ้ห้นับว่าซ้ำกันเท่าไรนะครับ ตัวเลข 3 หลักครับ
เช่น 123
123
123
957
957
คือในช่องคำตอบ ให้แสดงว่า 957 ซ้ำกัน 2 จำนวน
ให้แสดงว่า 123 ซ้ำกัน 3 จำนวน
แบบนี้นะครับ อาจารย์ทุกท่าน

dpost Member
Member

โพสต์: 7
เรียนคุณ bank9597
ในช่อง b1 ใส่สูตร =COUNTIF($A$1:$A$10,A1)
A B(คำตอบที่ได้)
1 3
1 3
2 1
3 1
4 2
5 2
6 1
5 2
4 2
1 3
เป็นคำตอบที่ถูกต้องครับ
แต่ ถ้าอย่างตัวเลข 1 ซ้ำักัน 3 จำนวน ในช่อง B2 ก็แสดงอีก
ใน b2 ไม่ให้แสดงอีกได้ไหมครับ เพราะแสดงในช่อง b1 แล้ว ว่า 1 ซ้ำกัน 3 จำนวน ครับคุณ bank9597

snasui ภาพประจำตัวสมาชิก
Site Admin
Site Admin

โพสต์: 15317
ที่อยู่: Songkhla, Thailand

:D ถ้าผมเข้าใจถูกต้องก็ตามภาพด้านล่างครับ
  1. ที่เซลล์ B1 คีย์สูตรเพื่อนับว่ามีค่าที่ไม่ซ้ำกี่ค่า
    =SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))
    Enter
  2. ที่เซลล์ B2 คีย์สูตรเพื่อ List รายการที่ไม่ซ้ำออกมาทั้งหมด
    =IF(ROWS(B$2:B2)>$B$1,"",INDEX($A$1:$A$10,SMALL(IF(MATCH($A$1:$A$10,$A$1:$A$10,0)=ROW($A$1:$A$10)-ROW($A$1)+1,ROW($A$1:$A$10)-ROW($A$1)+1),ROWS(B$2:B2))))
    กดแป้น Ctrl+Shift+Enter แทนการกดแป้น Enter จะเห็นว่าสูตรในภาพด้านล่างครอบด้วย {} > Copy ลงด้านล่าง
  3. ที่เซลล์ C2 คีย์สูตรเพื่อนับว่าแต่ละค่าซ้ำจำนวนเท่าไร
    =COUNTIF($A$1:$A$10,B2)
    Enter > Copy ลงด้านล่าง
คุณไม่มีสิทธิ์ดูไฟล์ที่แนบมาในกระทู้
คนควน รูปภาพ รูปภาพ รูปภาพ รูปภาพ
MVP-Excel (2010-2014)

bank9597 ภาพประจำตัวสมาชิก
Guru
Guru

โพสต์: 3447
:D
ถ้าผมเข้าใจถูกต้องก็ตามภาพด้านล่างครับ
ที่เซลล์ B1 คีย์สูตรเพื่อนับว่ามีค่าที่ไม่ซ้ำกี่ค่า
=SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))
Enter
ที่เซลล์ B2 คีย์สูตรเพื่อ List รายการที่ไม่ซ้ำออกมาทั้งหมด
=IF(ROWS(B$2:B2)>$B$1,"",INDEX($A$1:$A$10,SMALL(IF(MATCH($A$1:$A$10,$A$1:$A$10,0)=ROW($A$1:$A$10)-ROW($A$1)+1,ROW($A$1:$A$10)-ROW($A$1)+1),ROWS(B$2:B2))))
กดแป้น Ctrl+Shift+Enter แทนการกดแป้น Enter จะเห็นว่าสูตรในภาพด้านล่างครอบด้วย {} > Copy ลงด้านล่าง
ที่เซลล์ C2 คีย์สูตรเพื่อนับว่าแต่ละค่าซ้ำจำนวนเท่าไร
=COUNTIF($A$1:$A$10,B2)
Enter > Copy ลงด้านล่าง


ผมอยากใช้วิธีแบบของอาจารย์ครับ แต่ไม่มั่นใจคำถาม เลยตอบแบบง่ายๆไป ว่าแต่สูตรของอาจารย์ยากมากครับ :tt:
รูปภาพ Facebook รูปภาพ Google+ รูปภาพ Twitter รูปภาพ เว็บไซต์ รูปภาพ พุทโธโลยี

bank9597 ภาพประจำตัวสมาชิก
Guru
Guru

โพสต์: 3447
เรียนคุณ bank9597
ในช่อง b1 ใส่สูตร =COUNTIF($A$1:$A$10,A1)
A B(คำตอบที่ได้)
1 3
1 3
2 1
3 1
4 2
5 2
6 1
5 2
4 2
1 3
เป็นคำตอบที่ถูกต้องครับ
แต่ ถ้าอย่างตัวเลข 1 ซ้ำักัน 3 จำนวน ในช่อง B2 ก็แสดงอีก
ใน b2 ไม่ให้แสดงอีกได้ไหมครับ เพราะแสดงในช่อง b1 แล้ว ว่า 1 ซ้ำกัน 3 จำนวน ครับคุณ bank9597


:D ลองตามนี้ดูครับ

ที่ B1 คีย์ =IF(COUNTIF($A$1:$A$10,A1)-COUNTIF(A2:$A$10,A1)=1,COUNTIF($A$1:$A$10,A1),"")
แล้วคัดลอกลงมาครับ
รูปภาพ Facebook รูปภาพ Google+ รูปภาพ Twitter รูปภาพ เว็บไซต์ รูปภาพ พุทโธโลยี

logic Member
Member

โพสต์: 129

:D ลองตามนี้ดูครับ

ที่ B1 คีย์ =IF(COUNTIF($A$1:$A$10,A1)-COUNTIF(A2:$A$10,A1)=1,COUNTIF($A$1:$A$10,A1),"")
แล้วคัดลอกลงมาครับ

อีกวิธีครับ
=IF(COUNTIF($A$1:A1,A1)=1,COUNTIF($A$1:$A$10,A1),"")

bank9597 ภาพประจำตัวสมาชิก
Guru
Guru

โพสต์: 3447
อีกวิธีครับ
=IF(COUNTIF($A$1:A1,A1)=1,COUNTIF($A$1:$A$10,A1),"")


ขอบคุณมากครับ อิอิ :D
รูปภาพ Facebook รูปภาพ Google+ รูปภาพ Twitter รูปภาพ เว็บไซต์ รูปภาพ พุทโธโลยี

dpost Member
Member

โพสต์: 7
ขอบคุณอาจารย์ทุกท่่านครับ

ถูกต้องเลยครับ อาจารย์เฉลยมาตรงกันมากๆๆ

ปล.แล้วจะรบกวนจนกว่าจะเรียนจบนะครับ


ย้อนกลับไปยัง Excel