Page 1 of 1

ต้องการใส่เงื่อนไขให้ Data Validation ครับ

Posted: Tue Feb 03, 2015 4:35 pm
by spinoza
เรียน อาจารย์ และ สมาชิกทุกท่านครับ

ผมต้องการใส่เงื่อไนให้ Data Validation ครับ

เงื่อนไขมีดังนี้ครับ

โดยที่เวลาใช้แบบ Form Excel นี้ หากมีการเลือก Down List ในช่อง D เป็น ( นักศึกษารายชั่วโมง , นักศึกษาฝึกงาน , นักศึกษาทวิภาคี )

อยากให้ข้อมูลในช่อง E-G,K-P ไม่สามารถระบุข้อมูลได้ครับ ( บางช่องผมใส่ Down List ก็ต้องการให้ไม่สามารถเลือกข้อมูลได้ครับ )

แต่หากเลือกตำแหน่งอื่นที่ไม่ใช่ 3 ตำแหน่งที่กล่าว ให้สามารถระบุข้อมูลได้ตามปกติครับ

ผมได้แนบ File ตัวอย่างมาให้เรียบร้อยแล้วครับ

Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ

Posted: Tue Feb 03, 2015 9:42 pm
by snasui
:D กรณีไม่ให้ระบุข้อมูลได้นั้น เราสามารถใช้ Validation เข้ามาช่วยได้ กรณีในคอลัมน์ E-G, K-P ยังไม่มีการกรอกข้อมูล

คำถามคือถ้าหากข้อมูลเดิมมีข้อมูลอยู่แล้วจะให้แสดงผลอย่างไรครับ :?:

Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ

Posted: Tue Feb 03, 2015 10:19 pm
by spinoza
อยากให้แสดงผลเป็นค่าว่างครับ

Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ

Posted: Tue Feb 03, 2015 10:21 pm
by snasui
:D การทำเช่นนั้นต้องอาศัย VBA ให้เขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน :roll: ติดตรงไหนค่อยถามกันต่อครับ

Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ

Posted: Wed Feb 04, 2015 8:13 am
by spinoza
snasui wrote::D การทำเช่นนั้นต้องอาศัย VBA ให้เขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน :roll: ติดตรงไหนค่อยถามกันต่อครับ
เรียนอาจารย์ครับ

เนื่องจากผมทำเรื่อง VBA ไม่เป็นงั้นผมขอเปลี่ยนจากเงื่อนไขหากมีข้อมูลเดิมอยู่ให้เป็นว่าง เป็นแสดงข้อมูลตามเดิมที่มีระบุอยู่ก่อนหน้าแทนนะครับ

Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ

Posted: Wed Feb 04, 2015 8:33 am
by menem
การทำ Validate เป็นการตรวจสอบค่าขณะที่ป้อนค่าลงไปในเซลครับ
ไม่ได้เป็นการเปลี่ยนค่าในเซลแบบอัตโนมัติเหมือนกับสูตร ดังนั้น
ถ้าต้องการให้ Validate และมีการปรับเปลี่ยนค่าในเซลอื่น ๆ ตามกัน
จำเป็นต้องใช้ VBA เข้ามาช่วยเท่านั้นครับ

มิเช่นนั้นจะต้องเข้าไปเปลี่ยนค่าในเซลอื่น ๆ ให้อ้างอิงตามการทำ
Validate เองทุกครั้ง ที่มีการเปลี่ยนค่าในเซลตั้งต้น

เช่น เรากำหนดการทำ Validate ไว้ว่า
ถ้าช่อง A1 เป็น X ให้ช่อง B1 มีได้แค่ ก หรือ ข
ถ้าช่อง A1 เป็น Y ให้ช่อง B1 มีได้แค่ ค หรือ ง

ดังนั้น ในตอนแรกหากช่อง A1 เป็น X และกำหนดค่า B1 เป็น ข ไว้
แล้วต่อมามีการเปลี่ยนค่าในช่อง A1 เป็น Y ช่อง B1 ซึ่งยังไม่มีการเข้าไปแก้ไข
(และไม่มีการทำ Validate) ก็จะยังมีค่าเป็น ข ตามเดิม แต่ถ้าเข้าไปเปลี่ยนค่า
มันจะ Validate ให้เป็นเฉพาะ ค หรือ ง เท่านั้น

Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ

Posted: Wed Feb 04, 2015 8:51 am
by spinoza
menem wrote:การทำ Validate เป็นการตรวจสอบค่าขณะที่ป้อนค่าลงไปในเซลครับ
ไม่ได้เป็นการเปลี่ยนค่าในเซลแบบอัตโนมัติเหมือนกับสูตร ดังนั้น
ถ้าต้องการให้ Validate และมีการปรับเปลี่ยนค่าในเซลอื่น ๆ ตามกัน
จำเป็นต้องใช้ VBA เข้ามาช่วยเท่านั้นครับ

มิเช่นนั้นจะต้องเข้าไปเปลี่ยนค่าในเซลอื่น ๆ ให้อ้างอิงตามการทำ
Validate เองทุกครั้ง ที่มีการเปลี่ยนค่าในเซลตั้งต้น

เช่น เรากำหนดการทำ Validate ไว้ว่า
ถ้าช่อง A1 เป็น X ให้ช่อง B1 มีได้แค่ ก หรือ ข
ถ้าช่อง A1 เป็น Y ให้ช่อง B1 มีได้แค่ ค หรือ ง

ดังนั้น ในตอนแรกหากช่อง A1 เป็น X และกำหนดค่า B1 เป็น ข ไว้
แล้วต่อมามีการเปลี่ยนค่าในช่อง A1 เป็น Y ช่อง B1 ซึ่งยังไม่มีการเข้าไปแก้ไข
(และไม่มีการทำ Validate) ก็จะยังมีค่าเป็น ข ตามเดิม แต่ถ้าเข้าไปเปลี่ยนค่า
มันจะ Validate ให้เป็นเฉพาะ ค หรือ ง เท่านั้น
แสดงว่า สามารถ ป้องกันการใส่ข้อมูลได้ แต่ไม่สามารถ สั่งให้เปลี่ยนข้อมูลที่มีอยู่แล้วได้ใช่ไหมครับ

ถ้าเป็นแบบนั้น ผมรบกวนขอคำแนะนำแค่ หากเลือกตัวเลือกเป็น ( นักศึกษารายชั่วโมง , นักศึกษาฝึกงาน , นักศึกษาทวิภาคี ) ให้ข้อมูลในช่อง E-G,K-P ไม่สามารถระบุข้อมูลได้ครับ

ส่วนหากช่องนั้นมีข้อมูลอยู่แล้วก็ไม่เป็นไรครับ ให้แสดงข้อมูลตามเดิมก็ได้ครับ

Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ

Posted: Wed Feb 04, 2015 11:10 am
by menem
ลองดูนะครับ

หมายเหตุ :
การทำ Validation แบบ Drop down list ไม่สามารถใส่เงื่อนไขตรง ๆ ได้
แต่เราสามารถสร้างเงื่อนไขไว้บนเซลของ Worksheet ได้ครับ

Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ

Posted: Wed Feb 04, 2015 6:44 pm
by snasui
:D มาช่วยเสริมครับ
menem wrote:การทำ Validation แบบ Drop down list ไม่สามารถใส่เงื่อนไขตรง ๆ ได้
ตามไฟล์ที่แนบมานั้นเป็นการเขียนเงื่อนไขเข้าไปตรงๆ ใน Validation เพียงแต่ Validation จะไม่เปลี่ยนค่าในเซลล์ให้เอง ไม่เหมือนการเขียนสูตรลงในเซลล์โดยตรง

ข้อจำกัดของ Validation คือไม่สามารถอ้างเงื่อนไขข้ามชีทแบบตรงไปตรงมา หากจะทำต้องใช้ Indirect เข้าไปช่วย อีกอย่างที่สำคัญคือ เราไม่สามารถเขียนสูตรใน Validation โดยใช้ค่าคงที่ Array เข้ามาช่วยได้

ประโยชน์ของ Validation อีกอย่างหนึ่งคือการตรวจสอบความสมบูรณ์ของข้อมูลในภายหลัง โดยเข้าเมนู Data > Validation > Circle Invalid Data จึงเป็นสิ่งสนับสนุนให้คงค่าในเซลล์ที่มี Validation ไว้

Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ

Posted: Thu Feb 05, 2015 5:24 pm
by spinoza
ขอบคุณทั้ง 2 ท่านมากน่ะครับ จะลองไปปรับใช้ดูครับ