การใส่ชื่อตารางเป็นการอ้างอิงสำหรับวัตถุประสงค์ในการตรวจสอบความถูกต้องของค่าเซลล์


5

ฉันต้องการตรวจสอบค่าเซลล์ด้วยความช่วยเหลือของรายการง่าย ๆ แต่ปรากฎว่าเป็นการยากที่จะขยายรายการนี้โดยไม่จำเป็นต้องอัปเดตช่วงแหล่งตรวจสอบความถูกต้องทุกครั้งที่มีการเพิ่มค่าใหม่ตามที่แสดงในภาพ

ข้อความแสดงแทน

คำถามของฉันคือฉันสามารถใส่การอ้างอิงตารางแบบไดนามิกในฟิลด์ 'แหล่งที่มา' ได้หรือไม่ ถ้าใช่ฉันจะทำสิ่งนี้ได้อย่างไร

ขอบคุณ

คำตอบ:


8

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

ตัวอย่างเช่นถ้าผมมีตารางคอลัมน์เดียวชื่อTable1ที่มีคอลัมน์ที่มีชื่อAcceptable Valuesผมสามารถกำหนดชื่อใหม่โดยใช้การอ้างอิงที่มีแบบแผนValidValues Table1[Acceptable Values]ในฟิลด์แหล่งที่มาของรายการตรวจสอบข้อมูลที่ฉันสามารถป้อนได้=ValidValues


นี่คือคำตอบที่ดีที่สุดสำหรับผู้ที่ใช้ Excel เวอร์ชั่น 2010 และใหม่กว่า มันเป็นวิธีที่เร็วที่สุดและไม่เหมือนกับวิธี INDIRECT ซึ่งจะไม่แตกถ้าคุณเปลี่ยนชื่อตารางหรือคอลัมน์ตารางของคุณ
ChrisB

6

ในการตอบคำถามของคุณ:

ฉันสามารถใส่การอ้างอิงตารางแบบไดนามิกในฟิลด์ 'แหล่งที่มา' ได้หรือไม่ ถ้าใช่ฉันจะทำสิ่งนี้ได้อย่างไร

ใช่ แบบนี้...

อ้างอิงคอลัมน์ตารางโดยตรงจากเขตข้อมูลการตรวจสอบความถูกต้องของข้อมูลโดยใช้INDIRECTฟังก์ชัน

ตัวอย่างแหล่งตรวจสอบข้อมูล:

=INDIRECT("Table1[MyColumn]")

เพียงระวัง: การเปลี่ยนแปลงใด ๆ กับชื่ออ้างอิงตาราง / คอลัมน์จะไม่ถูกปรับปรุงอย่างน่าอัศจรรย์!

อ้างอิง

  1. https://support.office.com/en-nz/article/INDIRECT-function-21f8bcfc-b174-4a50-9dc6-4dfb5b3361cd?ui=en-US&rs=en-NZ&ad=NZ
  2. http://www.get-digital-help.com/2012/10/15/how-to-use-a-table-name-in-data-validation-lists-and-conditional-formatting-formulas/

3

ฉันเห็นสองวิธีในการทำสิ่งนี้:

ใช้ช่วงที่มีชื่อ

เลือกC1:C6บนแถบเมนูไปที่แทรก -> ชื่อ -> กำหนดใส่ชื่อสำหรับช่วง (เช่น "ValidationList") บนหน้าต่างการตรวจสอบข้อมูลที่คุณมีข้างต้นแหล่ง=ValidationListข้อมูลนั้นควรจะกำหนดให้

เมื่อใดก็ตามที่คุณเพิ่มรายการลงในรายการคุณต้องกลับไปที่หน้าต่างแทรก ->ชื่อ ->กำหนดให้เลือกรายการที่มีชื่อจากรายการและเปลี่ยนค่าอ้างอิงถึงตามต้องการ

การอ้างอิงทั้งหมดไปยัง=ValidationListจะชี้ไปที่รายการที่เพิ่งแก้ไขใหม่โดยอัตโนมัติ

ขยายศูนย์กลางของรายการ

ในตัวอย่างนี้คุณกำลังใช้$C$1:$C$6เป็นพื้นที่รายการถ้าคุณแทรกเซลล์ใหม่ตรงกลางของรายการนี้ (เช่นเลือกC4คลิกขวาแทรกเปลี่ยนเซลล์ลง) จากนั้นช่วงควรจะขยายให้คุณ


1
  1. สร้างตารางที่จะถือตัวเลือกสำหรับเมนูแบบเลื่อนลง

  2. ไปFormulas> Name Manager> New Nameและกำหนดชื่อสำหรับคอลัมน์ตารางที่คุณต้องการใช้ในการถือลดลงของคุณลงทางเลือกรายการ
    ไดอะล็อกชื่อใหม่

  3. เลือกช่วง / มือถือที่คุณต้องการที่จะเปลี่ยนเป็นรายการแบบหล่นลงและเพิ่มการตรวจสอบข้อมูลตามปกติยกเว้นว่าในแหล่งที่มาที่คุณจะใช้ชื่อที่คุณกำหนดไว้ก่อนหน้านี้ (เช่น: =ListChoices)

ข้อมูลอ้างอิง: http://excelsemipro.com/2011/05/a-dynamic-drants-drop-down-list-in-excel/


ฉันไม่รู้ว่าทำไมถึงเป็นศูนย์ นี่คือคำตอบที่ถูกต้อง ฉันเพิ่งทดสอบและทำสิ่งที่ OP ต้องการ: รายการตรวจสอบความถูกต้องแบบไดนามิกที่เชื่อมโยงกับคอลัมน์ตาราง
MartínValdés de León

0

ฉันต้องการขยายคำตอบของDMA57361 ใช้ช่วงที่ตั้งชื่อ แต่ทำให้ช่วงนั้นเป็นแบบไดนามิกเพื่อให้เมื่อรายการเติบโตหรือลดขนาดช่วงไดนามิกจะขยายและหดตามที่คุณต้องการ

หากคุณมีรายการเริ่มต้นที่ C1 และสิ้นสุดที่ C6 รหัสต่อไปนี้จะอนุญาตให้ขยายและทำสัญญา เมื่อเซลล์ว่างเปล่าแล้วรายการจะหยุด

=OFFSET($C$1, 0, 0, COUNTA($C:$C),1)

วางสูตรนี้ลงในช่วงที่ตั้งชื่อแล้วเรียกว่า ValidationList ในกล่องโต้ตอบการตรวจสอบความถูกต้องของข้อมูลให้เลือกรายการแล้วป้อน=ValidationListเป็นแหล่งที่มา

ทรัพยากรที่ดีจริงๆในการสร้างช่วงที่ตั้งชื่อแบบไดนามิก: http://www.ozgrid.com/Excel/DynamicRanges.htm

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.