: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

การสร้าง drop down list จากข้อมูลที่ซ้ำกัน

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
goodboyhahaha
Member
Member
Posts: 3
Joined: Mon Feb 24, 2014 11:55 am

การสร้าง drop down list จากข้อมูลที่ซ้ำกัน

#1

Post by goodboyhahaha »

สวัสดีครับอาจารย์
อยากรบกวนถามอาจารย์ดังคำถามด้านล่างครับ

(ตาม file แนบ example.xlsx, sheet 1)
คำถามที่ 1) ไม่ทราบว่าเราสามารถให้ drop down list เลือกข้อมูลจาก column ที่มีข้อมูลซ้ำๆ แล้วให้ filter ด้วยตัวของมันเองก่อนจะใส่ลงใน drop down ได้ไหมคับ ทั้งใน drop down ต้องสามารถดึงข้อมูลจากใน column นั้นๆเข้ามาใหม่ได้เรื่อยๆ (โดยที่เราไม่ต้องกด filter หรือ pivot table ข้อมูลตั้งต้น - เนื่องจากว่าผมอยากทำให้ file นี้เปน file auto ที่ user สามารถเข้ามา add-in new data ใน column แล้วสามารถเลือกจากใน drop down list ได้เลยโดยที่เค้าไม่ต้องมีขั้นตอนอื่นๆ)

ตอนนี้ผมลองใช้วิธีตั้งชื่อของกลุ่มข้อมูลใน column (ด้วย Name Manager) จากนั้นใส่ code ไปว่า "=OFFSET(Sheet1!$A$1:$A$10,0,0,COUNTA(Sheet1!$A:$A)-1)" แต่ผลลัพธ์ที่ออกมาคือ ข้อมูลสามารถใส่เพิ่มเข้ามาใน column ได้ไม่จำกัด แต่ติดปัญหาตรงที่มันไม่ยอม filter ข้อมูลให้ รบกวนอาจารย์ชี้แนะด้วยครับ


คำถามที่ 2) ถ้ากรณีที่ข้อมูลตั้งต้น (A11="", A12="") ถ้าข้อมูลมีลักษณะเปน blank จะทำอย่างไรไม่ให้แสดงขึ้นมาใน drop down list ครับ
คำถามที่ 3) ถ้าต้องการให้ข้อมูลใน drop down list เรียงจากน้อยไปมาก (หรือมากไปน้อย) ต้องใส่ลงใน code name manager ว่าอย่างไรครับ

ขอบพระคุณอาจารย์อย่างสูงครับ
goodboyhahaha
Member
Member
Posts: 3
Joined: Mon Feb 24, 2014 11:55 am

Re: การสร้าง drop down list จากข้อมูลที่ซ้ำกัน

#2

Post by goodboyhahaha »

พอดีผมไม่สามารถแนบ file excel ในกระทู้ได้
รบกวนอาจารย์เข้าจาก link ด้านล่างครับ
https://onedrive.live.com/redir?resid=9 ... le%2c.xlsx
ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การสร้าง drop down list จากข้อมูลที่ซ้ำกัน

#3

Post by snasui »

:D ตอบทั้งสามข้อครับ

ด้วยความสามารถปกติของ Validation ไม่สามารถที่จะ Filter เอาข้อมูลใด ๆ ตามต้องการและไม่สามารถจัดเรียงในลักษณะใด ๆ ได้

หากมีข้อมูลซ้ำต้องจัดการไม่ให้ซ้ำให้พื้นที่สำรองก่อน หรือ หากต้องการจัดเรียงก็ต้องจัดเรียงให้เสร็จสิ้นก่อนที่จะนำมาใช้ Validation ครับ

ในการถาม ไฟล์แนบต้องแนบมาในฟอรัมเท่านั้น และไฟล์แนบนั้นควรเป็นตัวอย่าง ไม่ใช่ไฟล์จริงไม่ควรมีขนาดใหญ่ ดูวิธีการแนบไฟล์ได้ที่ Link นี้ครับ viewtopic.php?f=3&t=46
goodboyhahaha
Member
Member
Posts: 3
Joined: Mon Feb 24, 2014 11:55 am

Re: การสร้าง drop down list จากข้อมูลที่ซ้ำกัน

#4

Post by goodboyhahaha »

snasui wrote::D ตอบทั้งสามข้อครับ

ด้วยความสามารถปกติของ Validation ไม่สามารถที่จะ Filter เอาข้อมูลใด ๆ ตามต้องการและไม่สามารถจัดเรียงในลักษณะใด ๆ ได้

หากมีข้อมูลซ้ำต้องจัดการไม่ให้ซ้ำให้พื้นที่สำรองก่อน หรือ หากต้องการจัดเรียงก็ต้องจัดเรียงให้เสร็จสิ้นก่อนที่จะนำมาใช้ Validation ครับ

ในการถาม ไฟล์แนบต้องแนบมาในฟอรัมเท่านั้น และไฟล์แนบนั้นควรเป็นตัวอย่าง ไม่ใช่ไฟล์จริงไม่ควรมีขนาดใหญ่ ดูวิธีการแนบไฟล์ได้ที่ Link นี้ครับ viewtopic.php?f=3&t=46


ขอบพระคุณสำหรับคำแนะนำครับอาจารย์
ขอถามต่ออีกนิดนึงนะครับ ถ้าเราเลี่ยงการ filterหรือจัดเรียงข้อมูลโดย Validation แต่ให้ข้อมูลถูก filter ตั้งแต่ก่อนเรานำไปใช้
ซึ่งอย่างที่เรียนอาจารย์ไปข้างต้นว่า code ตอนนี้ที่ผมใช้กับกลุ่มข้อมูลนี้คือ "=OFFSET(Sheet1!$A$1:$A$10,0,0,COUNTA(Sheet1!$A:$A)-1)"
เราพอจะเล่นกับ code ตรงนี้ เพื่อให้ มีการ filter ข้อมูล/ตัดข้อมูล blank ที่เกิดจากสูตรในเซล ""/เรียงลำดับข้อมูล ได้ไหมครับ

ปล. ผมได้ลองแนบ file example (ที่พยายามจะแนบมาตั้งแต่วันนั้นมาด้วยครับ) ^^
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การสร้าง drop down list จากข้อมูลที่ซ้ำกัน

#5

Post by snasui »

:D คำตอบคือ ไม่ได้ครับ

ถ้าได้ผมจะตอบว่าได้โดยวิธีใดไปตั้งแต่คำตอบแรก ลองอ่านคำตอบในโพสต์เดิมของผมอีกครั้ง
Post Reply