:!: โปรดทราบ Image
    1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ดครับ Image
    2. การสมัครสมาชิกเพื่อโพสต์คำถาม ดาวน์โหลดไฟล์แนบไปศึกษา ทำตามขั้นตอนด้านล่างครับ
      1. สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่านImage
      2. Login เข้าระบบโดยคลิก Login ตรงมุมขวาบนของหน้านี้ Image กรณีมีปัญหาในการเข้าใช้งาน คลิก Link นี้เพื่อแจ้งผู้ดูแลระบบครับ => ติดต่อผู้ดูแลระบบ
    3. เมื่อ Login แล้วสามารถกำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษได้ที่ Link นี้ครับ => ตั้งค่าส่วนตัว Image
    4. วิธีการตั้งและตอบกระทู้ดูได้ที่ Link นี้ครับ => วิธีการตั้งและตอบกระทู้ Image
    5. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ Link นี้ครับ => จัดรูปแบบตัวอักษร และสามารถกำหนดขนาดตัวอักษรใน Browser ได้ที่นี่ครับ ==> กำหนดขนาดตัวอักษรใน Browser Image

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

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟลที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
traiyaraj
Member
Member
Posts: 12
Joined: Thu Dec 15, 2016 3:36 pm

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

#1

Postby traiyaraj » Mon Dec 19, 2016 7:51 pm

ถ้าเลือกข้อมูล Name ใน Drop Down List แล้ว :
1.ต้องการให้แสดงค่า ID ของ Name ที่เลือก
2.Name ที่เลือกไปแล้วห้ามไม่ให้เลือกซ้ำได้อีก
พอมีวิธีไหนทำได้บ้างครับ รบกวนด้วยครับ
You do not have the required permissions to view the files attached to this post.

traiyaraj
Member
Member
Posts: 12
Joined: Thu Dec 15, 2016 3:36 pm

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

#2

Postby traiyaraj » Mon Dec 19, 2016 8:59 pm

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

User avatar
snasui
Site Admin
Site Admin
Posts: 20775
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#3

Postby snasui » Mon Dec 19, 2016 9:45 pm

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

traiyaraj
Member
Member
Posts: 12
Joined: Thu Dec 15, 2016 3:36 pm

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

#4

Postby traiyaraj » Mon Dec 19, 2016 9:52 pm

ขอบคุณมากครับอาจารย์ ผมไม่มีพื้นฐาน VBA ครับ คงต้องนำไปประยุกต์ใช้เพียงเงื่อนไขที่ 1 ครับ :thup:

User avatar
DhitiBank
Gold
Gold
Posts: 1525
Joined: Mon Oct 15, 2012 12:07 am

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

#5

Postby DhitiBank » Mon Dec 19, 2016 10:21 pm

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 ที่เพิ่งสร้างใหม่นี้ครับ
You do not have the required permissions to view the files attached to this post.

traiyaraj
Member
Member
Posts: 12
Joined: Thu Dec 15, 2016 3:36 pm

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

#6

Postby traiyaraj » Mon Dec 19, 2016 10:55 pm

ขอบคุณมากครับ ลองทำตามแล้วสามารถแก้ปัญหาเงื่อนไขที่ 2 ได้ครับ :cp:

traiyaraj
Member
Member
Posts: 12
Joined: Thu Dec 15, 2016 3:36 pm

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

#7

Postby traiyaraj » Tue Dec 20, 2016 7:35 pm

พบปัญหาในการนำไปใช้งานครับ ถ้าข้อมูลใน Name เป็นภาษาไทย ค่า ID ที่ได้จะเพี้ยนครับ แก้ไขอย่างไรได้บ้างครับ
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 20775
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#8

Postby snasui » Tue Dec 20, 2016 7:45 pm

:D ปรับสูตรที่ B2 เป็นด้านล่างครับ

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

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

traiyaraj
Member
Member
Posts: 12
Joined: Thu Dec 15, 2016 3:36 pm

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

#9

Postby traiyaraj » Tue Dec 20, 2016 7:53 pm

ทำตามที่แนะนำได้แล้วครับ ขอบคุณมากครับอาจารย์ :cp:


Return to “Excel”

Who is online

Users browsing this forum: Google Feedfetcher, jariya, puriwutpokin, tonplam, Yamazato and 11 guests