วิธีสร้างรายการไดนามิกใน Excel ตามเกณฑ์ (3 วิธี)

  • แบ่งปันสิ่งนี้
Hugh West

วันนี้ฉันจะแสดงวิธีสร้างรายการไดนามิกตามเกณฑ์เดียวหรือหลายเกณฑ์ใน 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 และให้คำแนะนำในช่องความคิดเห็น

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง