snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#1
Post
by nukrob » Wed Jan 11, 2012 1:51 pm
ผมได้หาข้อมูลซ้ำชุดหนึ่งโดยใช้เครื่องมือ EXACT โดยจะแสดง True เมื่อชื่อนั้นมีจำนวนซ้ำ แต่เจอปัญหาคือ ขั้นตอนต่อไปผมอยากกรองให้เหลือข้อมูลเฉพาะที่ซ้ำนั้นๆเป็นคู่ๆไป คือมีข้อมูลที่เป็นFALSE และข้อมูลซ้ำที่เหมือนกันที่เป็นTRUE ต้องมีวิธีอย่างไรครับ
You do not have the required permissions to view the files attached to this post.
Last edited by
nukrob on Wed Jan 11, 2012 2:26 pm, edited 1 time in total.
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#2
Post
by bank9597 » Wed Jan 11, 2012 2:11 pm
ใช้สูตร COUNTIF นับจำนวนค่าซ้ำออกมาก่อนครับ แล้วนำมาแปลงค่าโดยใช้ Index
ยกตัวอย่างเช่น =Countif(A2:A10,"TRUE")
แต่อย่างไรก็ควรแนบไฟล์มาครับ จะตอบง่ายขึ้น
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#3
Post
by nukrob » Wed Jan 11, 2012 2:26 pm
bank9597 wrote: ใช้สูตร COUNTIF นับจำนวนค่าซ้ำออกมาก่อนครับ แล้วนำมาแปลงค่าโดยใช้ Index
ยกตัวอย่างเช่น =Countif(A2:A10,"TRUE")
แต่อย่างไรก็ควรแนบไฟล์มาครับ จะตอบง่ายขึ้น
แนบมาแล้วครับ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#4
Post
by bank9597 » Wed Jan 11, 2012 2:45 pm
จะให้แยกอย่างไรครับ ผมอ่านโจทย์ยังไม่เข้าใจ
การจะเอาข้อมูลซ้ำที่คุณได้แยกไว้แล้วนั้น ไม่ใช้เรื่องยากครับ แต่ที่ยากคือ รูปแบบคำตอบที่ต้องการ อยู่ในลักษณะไหนครับ ลองทำตัวอย่างคำตอบ และรูปแบบที่ต้องการมาให้ผมดูนิดนึงครับ ผมยังไม่อยากตอบ เดี๋ยวผิด
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#5
Post
by bank9597 » Wed Jan 11, 2012 3:14 pm
Code: Select all
ผมอยากกรองให้เหลือข้อมูลเฉพาะที่ซ้ำนั้นๆเป็นคู่ๆไป
ผมลองเดาดูน่ะครับ ว่าตรงที่ต้องการหรือไม่
ที่ C2 คีย์ =IF(A2=FALSE,"",B2) แล้วลากลงมา
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#6
Post
by nukrob » Wed Jan 11, 2012 3:36 pm
ผมเพิ่มชีทมาเป็นข้อมูลที่อยากได้ครับ คืออยากเอาทั้งเรคคอร์ดที่เป็น TRUE และ FALSE มาแสดงผลเพื่อเปรียบเทียบข้อมูลครับเนื่องจากว่าแต่ละเรคคอร์ดมีข้อมูลต่อท้ายครับ
You do not have the required permissions to view the files attached to this post.
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#7
Post
by nukrob » Wed Jan 11, 2012 6:04 pm
พอจะสามารถทำได้ไหมครับ
ChoBkuN
Member
Posts: 239 Joined: Tue Nov 29, 2011 3:43 pm
#8
Post
by ChoBkuN » Wed Jan 11, 2012 7:00 pm
ถ้าจะใช้ Function อย่างเดียว ผมทำไม่เป็นครับ คิดว่างคงต้องพึ่ง VBA
แต่ถ้าอ้อมๆ ก็มีครับ (แต่มันจะไม่ได้ใช้สูตร Exact เลย)
ที่ Cell
C2 พิมพ์ =IF(B2=B3,B2,IF(B2=B1,B2,"")) กด enter และ กด double click ตรงมุมขวาเซล เพื่อ Auto ลากสูตรจนบรรทัดสุดท้าย
D2 พิมพ์ =IF(C3="","",IF(C3=C4,"TRUE","FALSE")) กด enter และ กด double click ตรงมุมขวาเซล เพื่อ Auto ลากสูตรจนบรรทัดสุดท้าย
คลิ๊กคลุม ช่อง C กับ D
กด CTRL + c เพื่อ Copy เสร็จแล้ว คลิ๊กขวา เลือก paste special แล้วกด value กด ok
(ถ้าเป็น 2007) คลิ๊กคลุม C กับ D แล้ว ไปที่ Tap เลือก DATA แล้วกด ICON - Remove Duplication
ก็จะได้ตามที่ต้องการครับ (แต่สลับกันระหว่างชื่อ กับ TRUE FALSE)
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#9
Post
by snasui » Wed Jan 11, 2012 7:01 pm
ลองตามนี้ครับ
ที่ชีท interactive_report เซลล์ A2 คีย์
=COUNTIF($B$2:$B$1438,B2)
Enter > Copy ลงด้านล่าง
คลิกที่ A1 เข้าเมนู Data > Filter > Auto Filter > Click Dropdown ที่ A1 แล้วเลือก 2
ผลลัพธ์ก็จะได้ค่าที่ซ้ำทั้งหมด สามารถ Copy ไปใช้ตามต้องการครับ