สารบัญ
วันนี้ฉันจะแสดงวิธีสร้างรายการไดนามิกตามเกณฑ์เดียวหรือหลายเกณฑ์ใน Excel
ดาวน์โหลดสมุดงานแบบฝึกหัด
รายการไดนามิกตามเกณฑ์.xlsx
รายการไดนามิกใน Excel คืออะไร
รายการไดนามิกคือรายการที่สร้างขึ้นจากชุดข้อมูลและอัปเดตโดยอัตโนมัติเมื่อค่าใดๆ ในชุดข้อมูลเดิมมีการเปลี่ยนแปลง หรือค่าใหม่ถูกเพิ่มเข้าไปในชุดข้อมูลเดิม
ในภาพที่กำหนด เรามีรายชื่อของนักเรียนทุกคนที่ได้คะแนนมากกว่า 60 ในการสอบ
ตอนนี้ ถ้าคุณเปลี่ยนเครื่องหมายของ Jennifer Marlo จาก 68 เป็น 58 และเพิ่มนักเรียนใหม่ชื่อ Ross Smith ที่มีเครื่องหมาย 81 ในตาราง รายชื่อจะ ปรับตัวเองโดยอัตโนมัติ
เรียกว่ารายการไดนามิก
3 วิธีสร้างรายการไดนามิกใน Excel ตามเกณฑ์
เรามีชุดข้อมูลที่มี รหัสนักเรียน ชื่อ และ เครื่องหมาย ของนักเรียนบางคนในโรงเรียนที่เรียกว่าโรงเรียนอนุบาลทานตะวัน
วัตถุประสงค์ของเราในวันนี้คือการสร้างรายการแบบไดนามิกตามเกณฑ์จากชุดข้อมูลนี้ เราจะใช้ทั้งเกณฑ์เดียวและหลายเกณฑ์ในวันนี้
1. การใช้ฟังก์ชัน FILTER และ OFFSET (สำหรับ Excel เวอร์ชันใหม่)
ก่อนอื่น เราจะใช้ FILTER , OFFSET และ COUNTA ฟังก์ชันของ Excel
ฟังก์ชัน FILTER พร้อมใช้งานใน Office 365 เท่านั้น ดังนั้นจึงเหมาะสำหรับผู้ที่มีการสมัคร Office 365 เท่านั้น
กรณีที่ 1: ขึ้นอยู่กับเกณฑ์เดียว
ลองสร้างไดนามิก รายชื่อนักเรียนที่มีคะแนนเฉลี่ยมากกว่าหรือเท่ากับ 60 .
คุณสามารถใช้สูตรนี้ได้:
=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)
อย่างที่คุณเห็น เรามีรายชื่อนักเรียนทั้งหมดที่มีมากกว่า 60
และแน่นอนว่านี่คือการเปลี่ยนแปลง รายการ. คุณเปลี่ยนค่าใดๆ ในชุดข้อมูลหรือเพิ่มค่าใหม่ใดๆ ในชุดข้อมูล
รายการจะปรับโดยอัตโนมัติ
คำอธิบายของสูตร:
-
COUNTA(C:C)
ส่งกลับจำนวนแถวในคอลัมน์ C ที่ไม่เว้นว่าง ดังนั้นCOUNTA(C:C)-1
จะส่งกลับจำนวนแถวที่มีค่าโดยไม่มี ส่วนหัวของคอลัมน์ ( ชื่อนักเรียน ในตัวอย่างนี้) - ถ้าคุณไม่ทำ' t มี Column Header ใช้
COUNTA(C:C)
-
OFFSET(C5,0,0,COUNTA(C:C)-1,1)
เริ่มจากเซลล์ C5 (ชื่อนักเรียนคนแรก) และส่งกลับช่วงชื่อของนักเรียนทั้งหมด - ฟังก์ชัน OFFSET ร่วมกับ ฟังก์ชัน COUNTIF ถูกนำมาใช้เพื่อให้สูตรเป็นแบบไดนามิก ถ้านักเรียนเพิ่มอีกหนึ่งคนในชุดข้อมูล สูตร
COUNTA(C:C)-1
จะเพิ่มขึ้น 1 และฟังก์ชัน OFFSET จะรวมนักเรียนด้วย - ในทำนองเดียวกัน
OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60
จะส่งกลับ TRUE สำหรับเครื่องหมายทั้งหมดที่มากกว่าหรือเท่ากับ 60 . - สุดท้าย
FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)
ส่งคืนรายชื่อนักเรียนทั้งหมดที่ได้คะแนนมากกว่า 60 . - หาก นักเรียนใหม่ใดๆ จะถูกเพิ่มในชุดข้อมูล
COUNTA(C:C)-1
เพิ่มขึ้น 1 และฟังก์ชัน FILTER จะรีเฟรชการคำนวณรวมทั้ง - ดังนั้น สูตรยังคงเป็นไดนามิกเสมอ
หมายเหตุ:
ถ้าคุณต้องการรับเครื่องหมายพร้อมกับชื่อในรายการ ให้เปลี่ยนอาร์กิวเมนต์ที่ห้าของ OFFSET ฟังก์ชันแรกจาก 1 ถึง 2
=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)
กรณีที่ 2: ตามเกณฑ์หลายข้อ
คราวนี้มาลองหลายเกณฑ์กัน
เราจะพยายามสร้างรายชื่อของนักเรียนที่ ได้คะแนนมากกว่าหรือเท่ากับ 60 แต่มี ID น้อยกว่าหรือเท่ากับ 200
คุณสามารถใช้สูตรนี้ได้:
=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))
อย่างที่คุณเห็น เรามีรายชื่อนักเรียนทั้งหมดที่ได้คะแนนมากกว่า 60 และมี ID น้อยกว่า 200 .
และไม่จำเป็นต้องบอก นี่คือรายการแบบไดนามิก
หากคุณเปลี่ยนค่าหรือเพิ่มนักเรียนใหม่ในชุดข้อมูล รายการจะปรับโดยอัตโนมัติ
คำอธิบายของสูตร: <1
- ที่นี่เราได้คูณเกณฑ์ช่วงไดนามิกสองช่วง
(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
- ถ้าคุณมีเกณฑ์มากกว่า 2 ให้คูณช่วงทั้งหมดของ ตามเกณฑ์เดิม
- ส่วนที่เหลือเหมือนกับตัวอย่างที่แล้ว (ของเกณฑ์เดียว)มีการใช้ฟังก์ชัน OFFSET ร่วมกับฟังก์ชัน COUNTA เพื่อให้สูตรเป็นไดนามิก
หมายเหตุ:
ถ้าคุณต้องการดูคอลัมน์ทั้งหมดในรายการ ( คอลัมน์ B, C, และ D ในตัวอย่างนี้) ให้เปลี่ยนอาร์กิวเมนต์แรกของ OFFSET แรก ฟังก์ชันสำหรับคอลัมน์แรก ( B5 ในตัวอย่างนี้) และอาร์กิวเมนต์ที่ 5 ของจำนวนคอลัมน์ทั้งหมด ( 3 ในตัวอย่างนี้)
=FILTER(OFFSET(B5,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*
(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))
อ่านเพิ่มเติม: Excel สร้างไดนามิก รายการจากตาราง (3 วิธีง่ายๆ)
2. การใช้ INDEX-MATCH กับฟังก์ชันอื่นๆ (สำหรับเวอร์ชันเก่า)
ผู้ที่ไม่มี การสมัคร Office 365 ไม่สามารถใช้สูตรด้านบนได้
ฉันกำลังแสดงวิธีที่ซับซ้อนมากขึ้นสำหรับผู้ที่ใช้ Excel เวอร์ชันเก่าโดยใช้ INDEX-MATCH ฟังก์ชัน OFFSET, SMALL, IF, ROW, COUNTIF, และ COUNTIFS ของ Excel โปรดทราบว่าสูตรเหล่านี้เป็นสูตรอาร์เรย์ ดังนั้น หากต้องการนำไปใช้ใน Excel เวอร์ชันเก่า คุณต้องกด Ctrl+Shift+Enter แทนที่จะกด Enter
กรณีที่ 1: ขึ้นอยู่กับเกณฑ์เดียว
สูตรในการสร้างรายชื่อแบบไดนามิกของนักเรียนที่มีคะแนนมากกว่าหรือเท่ากับ 60 จะเป็น:
=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60,
OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIF(D:D,">=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)
อย่างที่คุณเห็น เราได้รับรายชื่อของนักเรียนทุกคนที่ได้มากกว่าหรือเท่ากับ 60 .
คราวนี้เราขึ้นไปแล้วลำดับของตัวเลข
และใช่ รายการเป็นแบบไดนามิก เพิ่มนักเรียนใหม่ในชุดข้อมูล หรือเปลี่ยนเครื่องหมายของนักเรียนในชุดข้อมูล
รายการจะปรับตัวเองโดยอัตโนมัติ
คำอธิบายของ สูตร:
- ที่นี่ C:C คือคอลัมน์ที่เราต้องการแยกเนื้อหาของรายการ ( ชื่อนักศึกษา ในนี้ ตัวอย่าง). คุณใช้เกณฑ์ของคุณ
- D:D คือคอลัมน์ที่มีเกณฑ์อยู่ ( เครื่องหมายเฉลี่ย ในตัวอย่างนี้) คุณใช้เซลล์ของคุณ
- C5 และ D5 คือเซลล์ที่ข้อมูลของฉันเริ่มต้นขึ้น (ใต้ ส่วนหัวของคอลัมน์ ) คุณใช้เกณฑ์ของคุณ
- “>=60” คือเกณฑ์ของฉัน (มากกว่าหรือเท่ากับ 60 ในตัวอย่างนี้) คุณใช้สูตรของคุณ
- นอกเหนือจากการเปลี่ยนแปลงเล็กน้อยเหล่านี้ ให้คงสูตรที่เหลือไว้ตามเดิมและใช้ในชุดข้อมูลของคุณ คุณจะได้รับรายการแบบไดนามิกตามเกณฑ์ที่คุณต้องการ
กรณีที่ 2: ขึ้นอยู่กับหลายเกณฑ์
The INDEX-MATCH สูตรสำหรับรายการไดนามิกตามหลายเกณฑ์นั้นซับซ้อนกว่าเล็กน้อย ถึงกระนั้น ฉันกำลังแสดง
สูตรสำหรับหาชื่อของนักเรียนที่ได้คะแนนมากกว่าหรือเท่ากับ 60 แต่มี รหัส น้อยกว่า 200 จะเป็น
=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*
(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)
<24
คำอธิบายของสูตร:
- ที่นี่ C:C คือคอลัมน์ที่เราต้องการ ถึงแยกเนื้อหาของรายการ ( ชื่อนักเรียน ในตัวอย่างนี้) คุณใช้คอลัมน์ของคุณ
- B:B และ D:D เป็นคอลัมน์ที่มีเกณฑ์อยู่ ( รหัสนักศึกษา และ คะแนนเฉลี่ย ในตัวอย่างนี้) คุณใช้เซลล์ของคุณ
- B5, C5, และ D5 เป็นเซลล์จากที่ข้อมูลของฉันเริ่มต้นขึ้น (ใต้ ส่วนหัวของคอลัมน์ ). คุณใช้เกณฑ์ของคุณ
- ฉันได้คูณสองเกณฑ์ที่นี่:
(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
ถ้าคุณมีมากกว่าสองเกณฑ์ ให้คูณตามนั้น - ฉันใช้เกณฑ์ทั้งสองอีกครั้ง ภายในฟังก์ชัน COUNTIFS นี้:
COUNTIFS(B:B,"=60")
คุณใช้สูตรของคุณตามนั้น - ไม่ต้องเปลี่ยนสูตรที่เหลือและใช้ในชุดข้อมูลของคุณ คุณจะได้รับรายการแบบไดนามิกที่มีหลายเกณฑ์
อ่านเพิ่มเติม: วิธีสร้างรายการตรวจสอบความถูกต้องของข้อมูลแบบไดนามิกโดยใช้ VBA ใน Excel
3 . สร้างรายการแบบเลื่อนลงแบบไดนามิกตามเกณฑ์โดยใช้เครื่องมือตรวจสอบข้อมูล
ตอนนี้เราได้สร้างรายการแบบไดนามิกแล้ว ถ้าคุณต้องการ คุณสามารถ สร้างรายการแบบเลื่อนลงแบบไดนามิก ในเซลล์ใดก็ได้ของเวิร์กชีตของคุณ
- ในการสร้างรายการแบบหล่นลงแบบไดนามิก ให้เลือกเซลล์ใดก็ได้ในเวิร์กชีตของคุณ และไปที่ ข้อมูล > การตรวจสอบข้อมูล > การตรวจสอบความถูกต้องของข้อมูล ภายใต้ส่วน เครื่องมือข้อมูล
- คุณจะได้รับ การตรวจสอบความถูกต้องของข้อมูล กล่องโต้ตอบ ภายใต้ตัวเลือก อนุญาต เลือก รายการ และภายใต้ตัวเลือก แหล่งที่มา ป้อนการอ้างอิงของเซลล์แรกที่รายการอยู่ในเวิร์กชีตของคุณพร้อมกับ HashTag (#) ( $E$5# ในตัวอย่างนี้)
- จากนั้นคลิก ตกลง คุณจะได้รับรายการแบบหล่นลงในเซลล์ที่คุณเลือกดังนี้
อ่านเพิ่มเติม: วิธีสร้างรายการแบบหล่นลงแบบไดนามิกโดยใช้ VBA ใน Excel
วิธีสร้างรายการเฉพาะแบบไดนามิกใน Excel ตามเกณฑ์
ในส่วนนี้ เราจะแสดงวิธีสร้างรายการเฉพาะใน Excel ตามเกณฑ์ เกณฑ์. เราจะใช้ฟังก์ชัน UNIQUE และ FILTER ร่วมกัน เราได้แก้ไขชุดข้อมูลและเพิ่มเกมโปรดของนักเรียนแต่ละคน ตอนนี้ต้องการทราบชื่อเกมที่ลบรายการซ้ำด้วยเกณฑ์ เกณฑ์คือคะแนนเฉลี่ยของนักเรียนต้องมากกว่า 60 .
📌 ขั้นตอน:
- ใส่สูตรตามการรวมกันของฟังก์ชัน UNIQUE และ FILTER บน เซลล์ G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))
เราได้รับรายการเฉพาะตามเกณฑ์
คำอธิบายของ สูตร:
- FILTER(E5:E25,(D5:D25>60)
ซึ่งจะกรองค่าของ ช่วง E5:E25 โดยมีเงื่อนไขว่าคะแนนเฉลี่ยต้องสูงกว่า 60 .
ผลลัพธ์: [เทนนิส วอลเลย์บอล รักบี้ เทนนิส ฟุตบอล รักบี้ รักบี้, ฟุตบอล]
- UNIQUE(FILTER(E5:E25,(D5:D25>60)))
ผลตอบแทนนี้ ไม่เหมือนใครค่าจากผลลัพธ์ก่อนหน้า
ผลลัพธ์: [เทนนิส, วอลเลย์บอล, รักบี้, ฟุตบอล]
สรุป
ใช้ค่าเหล่านี้ วิธีการ คุณสามารถสร้างรายการไดนามิกตามเกณฑ์เดียวหรือหลายเกณฑ์ในชุดข้อมูลใดก็ได้ใน Excel โปรดดูที่เว็บไซต์ของเรา ExcelWIKI และให้คำแนะนำในช่องความคิดเห็น