Page 1 of 1

เลือกข้อมูลใน Drop Down List แล้วให้แสดง ID ของข้อมูลที่เลือก

Posted: Mon Dec 19, 2016 7:51 pm
by traiyaraj
ถ้าเลือกข้อมูล Name ใน Drop Down List แล้ว :
1.ต้องการให้แสดงค่า ID ของ Name ที่เลือก
2.Name ที่เลือกไปแล้วห้ามไม่ให้เลือกซ้ำได้อีก
พอมีวิธีไหนทำได้บ้างครับ รบกวนด้วยครับ

Re: เลือกข้อมูลใน Drop Down List แล้วให้แสดง ID ของข้อมูลที่เลือก

Posted: Mon Dec 19, 2016 8:59 pm
by traiyaraj
ผมลองทำได้แค่เงื่อนไขที่ 1 ครับ ผิดหรือถูกอย่างไรช่วยแนะนำด้วยครับ
ที่ B2 =INDEX($G$2:$J$11,MATCH(A2,$G$2:$G$11),4)

Re: เลือกข้อมูลใน Drop Down List แล้วให้แสดง ID ของข้อมูลที่เลือก

Posted: Mon Dec 19, 2016 9:45 pm
by snasui
:D สูตรที่เขียนมานั้นสามารถใช้ได้ครับ ส่วนการให้เลือกได้แค่ 1 ครั้งนั้นจะไม่สามารถกำหนดได้อีกหากว่ากำหนดให้เลือกค่าได้จาก Validation ไว้แล้ว ทั้งนี้เพราะการกำหนดให้เลือกได้ค่าเดียวจะดำเนินการผ่าน Validation เช่นกัน ต้องเลือกเพียงอย่างใดอย่างหนึ่งเท่านั้น ยกเว้นจะเขียน VBA เข้ามาช่วย ซึ่งจำเป็นต้องเขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน ติดแล้วค่อยถามกันต่อครับ

Re: เลือกข้อมูลใน Drop Down List แล้วให้แสดง ID ของข้อมูลที่เลือก

Posted: Mon Dec 19, 2016 9:52 pm
by traiyaraj
ขอบคุณมากครับอาจารย์ ผมไม่มีพื้นฐาน VBA ครับ คงต้องนำไปประยุกต์ใช้เพียงเงื่อนไขที่ 1 ครับ :thup:

Re: เลือกข้อมูลใน Drop Down List แล้วให้แสดง ID ของข้อมูลที่เลือก

Posted: Mon Dec 19, 2016 10:21 pm
by DhitiBank
2016-12-19 22_10_15-Microsoft Excel - Ex02.xlsx.png
หรืออาจสร้างรายการให้เลือกใหม่ด้วยสูตรครับโดยรายการใหม่นี้จะตัดรายการที่เลือกไปแล้ว แล้วสร้าง validation โดยอ้างอิงมาที่รายการใหม่นี้ครับ

1. คีย์สูตรที่ D2 (สร้างคอลัมน์ช่วย คัดชื่อที่ถูกเลือกไปแล้วออกจากรายการให้เลือก)
=IFERROR(INDEX($G$2:$G$11,SMALL(IF(ISNA(MATCH($G$2:$G$11,$A$2:$A$5,0)),ROW($G$2:$G$11)-ROW($G$2)+1),ROWS(D$2:D2))),"")

กด Ctrl+Shift ค้างแล้ว Enter >> คัดลอกลงล่าง (จำนวนบรรทัดที่คัดลอกลงไปให้เท่ากับจำนวนชื่อทั้งหมดที่มีครับ)
สีแดง คือช่วงข้อมูลชื่อทั้งหมด
สีน้ำเงิน คือช่วงที่ให้ผู้ใช้งานเลือกจาก drop down

2. สร้าง dynamic name range โดยกด Ctrl+F3 >> New...
  • 2.1 Name: ผมตั้งชื่อ _Choice ตั้งชื่อตามชอบครับ
    2.2 refer to: คีย์ =OFFSET(Sheet1!$D$2,,,MAX(1,COUNTIF(Sheet1!$D:$D,"*?")))
3. สร้าง validation โดย Source ให้กด F3 แล้วเลือก Name range ที่เพิ่งสร้างใหม่นี้ครับ

Re: เลือกข้อมูลใน Drop Down List แล้วให้แสดง ID ของข้อมูลที่เลือก

Posted: Mon Dec 19, 2016 10:55 pm
by traiyaraj
ขอบคุณมากครับ ลองทำตามแล้วสามารถแก้ปัญหาเงื่อนไขที่ 2 ได้ครับ :cp:

Re: เลือกข้อมูลใน Drop Down List แล้วให้แสดง ID ของข้อมูลที่เลือก

Posted: Tue Dec 20, 2016 7:35 pm
by traiyaraj
พบปัญหาในการนำไปใช้งานครับ ถ้าข้อมูลใน Name เป็นภาษาไทย ค่า ID ที่ได้จะเพี้ยนครับ แก้ไขอย่างไรได้บ้างครับ

Re: เลือกข้อมูลใน Drop Down List แล้วให้แสดง ID ของข้อมูลที่เลือก

Posted: Tue Dec 20, 2016 7:45 pm
by snasui
:D ปรับสูตรที่ B2 เป็นด้านล่างครับ

=INDEX($G$2:$J$11,MATCH(A2,$G$2:$G$11,0),4)

Enter > Copy ลงด้านล่าง

Re: เลือกข้อมูลใน Drop Down List แล้วให้แสดง ID ของข้อมูลที่เลือก

Posted: Tue Dec 20, 2016 7:53 pm
by traiyaraj
ทำตามที่แนะนำได้แล้วครับ ขอบคุณมากครับอาจารย์ :cp: