หน้าเว็บ

วันพฤหัสบดีที่ 1 กรกฎาคม พ.ศ. 2553

เทคนิคการทำ Validation แบบสัมพันธ์กัน

การทำ Validation ให้มีความสัมพันธ์กันหมายถึงเมื่อเลือกข้อมูลจาก Validation ข้อมูลหลักมาแล้ว ใน Validation ถัดมาจะโชว์เฉพาะข้อมูลย่อยของข้อมูลหลักเท่านั้น เพราะหากแสดงข้อมูลออกมาทั้งหมดแล้ว ข้อมูลหลักกับข้อมูลย่อยอาจจะไม่สัมพันธ์กัน นอกจากนี้ยังทำให้เสียเวลาในการเลือกข้อมูลกรณีมีข้อมูลจำนวนมาก

ยกตัวอย่างเช่น เมื่อเลือกข้อมูลหลักเป็น ขนม ข้อมูลย่อยที่อยู่ภายใต้ข้อมูลหลักคือ ฮานามิ, คอนเน่ และโตโร่ และหากเลือกข้อมูลหลักเป็น เครื่องดื่ม ข้อมูลย่อยที่อยู่ภายใต้ข้อมูลหลักคือ เปปซี่, โค้ก และแฟนต้า

ภาพประกอบการทำ Validation แบบสัมพันธ์กัน

CorrespondingValidation

จากภาพประกอบด้านบนมีวิธีการทำดังนี้

  1. ให้ชื่อกับข้อมูลหลักเป็น Group โดยที่ช่อง Refers to: คีย์
    =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A$2:$A$65536))
  2. ให้ชื่อกับข้อมูลย่อยเป็น Sub_Group โดยที่ช่อง Refers to: คีย์
    =OFFSET(Sheet1!$D$2,MATCH(Sheet1!$F2,Sheet1!$C$2:$C$7,0)-1,0,COUNTIF(Sheet1!$C$2:$C$7,Sheet1!$F2))
  3. นำชื่อข้อมูลหลักและข้อมูลย่อยมาใช้ใน Validation การเลือกชื่อเซลล์มาใช้สามารถกดแป้น F3 แล้วเลือกชื่อที่ต้องการ

5 ความคิดเห็น:

ไม่ระบุชื่อ กล่าวว่า...

=OFFSET(Sheet1!$D$2,MATCH(Sheet1!$F$2,Sheet1!$C$2:$C$7,0)-1,0,COUNTIF(Sheet1!$C$2:$C$7,Sheet1!$F$2))

ผมใช้กับ 2011 ต้องตามสูตรนี้ครับ ขอบคุณครับ

ไม่ระบุชื่อ กล่าวว่า...

รบกวนด้วยจ้า

ถ้าขนมและเครื่องดื่มมีอย่างละ 20 ชนิด
และต้องการคลิกแล้วแสดงครบทุก 20 ชนิด
จะต้องทำอย่างไร
(เพราะเมื่อคลิกแล้วแสดงเพียง 8 ชนิด เท่านั้น)

ขอบคุณครับ

comcheap@hotmail.com

snasui กล่าวว่า...

แนบตัวอย่างที่ลองทำเองแล้วติดปัญหาไปที่ http://www.snasui.com/ จะช่วยดูให้ครับ

ไม่ระบุชื่อ กล่าวว่า...

ถ้าหากมีเพิ่มอีก 1 sub จะต้องทำอย่างไรค่ะ คือต้องเช็คเพิ่มอีก 1 ชั้นหน่ะค่ะ

snasui กล่าวว่า...

ถามที่ http://www.snasui.com/ ดีกว่าครับ จะได้สะดวกในการตอบมากกว่าครับ