Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

ฟีเจอร์ ตัวกรอง (Filter) ใน Excel ช่วยให้เราสามารถดึงข้อมูลตามที่เราเลือกได้ แต่ปัญหาคือ หมายเลขแถวและการอ้างอิงเซลล์ยังคงคงที่ การสร้างตัวกรองแบบเลื่อนลงอย่างง่ายจะแก้ไขปัญหานี้ได้ ในบทความนี้ เราจะแสดงวิธีที่มีประสิทธิภาพสำหรับ การสร้างตัวกรองแบบเลื่อนลงเพื่อดึงข้อมูลตามการเลือกใน Excel

เพื่อการสาธิต เราจะใช้ชุดข้อมูลตัวอย่าง ตัวอย่างเช่น ชุดข้อมูลต่อไปนี้แสดง พนักงานขาย, สินค้า และ ยอดขายสุทธิ ของบริษัท

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

ดาวน์โหลดสมุดงานเพื่อฝึกปฏิบัติเอง

4 วิธีสร้างตัวกรองแบบเลื่อนลงเพื่อดึงข้อมูลตามการเลือกใน Excel

1. สร้างตัวกรองแบบเลื่อนลงด้วยคอลัมน์ช่วยเหลือ (Helper Columns)

ในวิธีแรก เราจะใช้ 3 คอลัมน์ช่วยเหลือ เพื่อสร้าง ตัวกรองแบบเลื่อนลง โปรดทำตามขั้นตอนด้านล่าง

ขั้นตอน:

  • ขั้นแรก เลือกเซลล์ D5 และพิมพ์สูตร:

=ROWS($B$5:B5)

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • กด Enter และใช้ AutoFill เพื่อเติมลำดับ

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • หลังจากนั้น เลือกเซลล์ G5 หรือตำแหน่งที่ต้องการสร้าง ตัวกรองแบบเลื่อนลง
  • ไปที่ ข้อมูล (Data) ➤ เครื่องมือข้อมูล (Data Tools) ➤ ตรวจสอบความถูกต้องของข้อมูล (Data Validation)

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • กล่องโต้ตอบ ตรวจสอบความถูกต้องของข้อมูล จะปรากฏขึ้น
  • ในแท็บ การตั้งค่า (Settings) เลือก รายการ (List) ใน อนุญาต (Allow) และพิมพ์ TV, AC ในช่อง แหล่งที่มา (Source)

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • กด ตกลง (OK)
  • ตอนนี้ตัวกรองที่ต้องการได้ถูกสร้างขึ้นแล้ว

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • ตอนนี้ เลือกเซลล์ E5 และพิมพ์สูตร:

=IF(B5=$G$5,D5,"")

  • กด Enter

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • ใช้ AutoFill เติมส่วนที่เหลือ
  • จากนั้น เลือก F5 พิมพ์สูตร:

=IFERROR(SMALL($E$5:$E$10,D5),"")

  • กด Enter

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • ใช้ AutoFill อีกครั้งเพื่อเติมส่วนที่เหลือ
  • ต่อไป เลือกเซลล์ I5 พิมพ์สูตร:

=IFERROR(INDEX($A$5:$C$10,$F5,COLUMNS($I$5:I5)),"")

  • กด Enter

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

ที่นี่ ฟังก์ชัน COLUMNS จะคืนจำนวนคอลัมน์ในช่วง $I$5:I5 ฟังก์ชัน INDEX จะคืนการอ้างอิงเซลล์หรือค่าเซลล์ที่จุดตัดของหมายเลขแถวใน F5 และหมายเลขคอลัมน์ใน I5 ฟังก์ชัน IFERROR จะคืนเซลล์ว่างหากพบข้อผิดพลาดในนิพจน์

  • สุดท้าย ใช้ AutoFill เพื่อเติมลำดับ ดังนั้นคุณจะได้ข้อมูลที่ต้องการตามการเลือกของคุณ

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • เช่นเดียวกัน เลือก AC จาก ตัวกรองแบบเลื่อนลง ชุดข้อมูลจะอัปเดตโดยอัตโนมัติ

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

อ่านเพิ่มเติม: วิธีสร้างรายการแบบเลื่อนลงพร้อมตัวกรองใน Excel (7 วิธี)

2. ฟังก์ชัน FILTER ใน Excel สำหรับสร้างตัวกรองแบบเลื่อนลงดึงข้อมูลตามการเลือก

เราจะใช้ฟังก์ชัน FILTER ในวิธีนี้เพื่อ สร้างตัวกรองแบบเลื่อนลงเพื่อดึงข้อมูลตามการเลือกใน Excel เรียนรู้ขั้นตอนด้านล่าง

ขั้นตอน:

  • ขั้นแรก เลือกช่วง A4:C10
  • จากนั้นในแท็บ แทรก (Insert) เลือก ตาราง (Table)

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • กล่องโต้ตอบจะปรากฏ คลิก ตกลง (OK)
  • จะสร้างตารางชื่อ Table1 โดยอัตโนมัติ
  • เปิดแผ่นงานใหม่ เลือกเซลล์ B2 พิมพ์สูตร:

=UNIQUE(Table1[Product])

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • กด Enter จะแสดงชื่อสินค้าที่ไม่ซ้ำกัน

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • เลือกเซลล์ E5 หรือเซลล์อื่นในแผ่นหลัก
  • ไปที่ ข้อมูล (Data) ➤ เครื่องมือข้อมูล (Data Tools) ➤ ตรวจสอบความถูกต้องของข้อมูล (Data Validation)

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • กล่องโต้ตอบจะปรากฏ
  • ในแท็บ การตั้งค่า (Settings) เลือก รายการ (List) ใน อนุญาต (Allow) และในช่อง แหล่งที่มา (Source) พิมพ์สูตร:

=list!$B$2#

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

ที่นี่ list คือชื่อแผ่นงานที่สร้างใหม่ จะค้นหาค่าเซลล์ B2 ในแผ่น list

  • หลังจากนั้น เลือกเซลล์ G5 พิมพ์สูตร:

=FILTER(Table1,Table1[Product]=E5)

  • กด Enter ข้อมูลจะกระจาย (spill) ออกมา

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

ที่นี่ ฟังก์ชัน FILTER จะกรอง Table1 และคืนชุดข้อมูลที่ตรงกับเซลล์ E5

  • คุณสามารถเปลี่ยน ตัวกรองแบบเลื่อนลง เป็น AC และได้ข้อมูลตามการเลือก

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

อ่านเพิ่มเติม: สร้างตัวกรอง Excel ด้วยรายการแบบเลื่อนลงตามค่าเซลล์

บทความคล้ายกัน:

  • วิธิกัดลอกตัวกรองรายการแบบเลื่อนลงใน Excel (5 วิธี)
  • วิธีสร้างรายการแบบเลื่อนลงที่ขึ้นกันได้พร้อมช่องว่างใน Excel
  • สร้างรายการแบบเลื่อนลงที่ค้นหาได้ใน Excel (2 วิธี)
  • วิธีสร้างรายการแบบเลื่อนลง Excel พร้อมสี (2 วิธี)
  • รายการแบบเลื่อนลง Excel ไม่ทำงาน (8 ปัญหาและวิธีแก้)

3. ดึงข้อมูลตามการเลือกด้วยตัวกรองแบบเลื่อนลงและฟังก์ชัน INDIRECT

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

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

ขั้นตอน:

  • ในตอนแรก เลือกเซลล์ C4 ในแผ่นที่ต้องการวางข้อมูลที่ดึงมา

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • ไปที่ ข้อมูล (Data) ➤ เครื่องมือข้อมูล (Data Tools) ➤ ตรวจสอบความถูกต้องของข้อมูล (Data Validation)
  • ในกล่องโต้ตอบ เลือก รายการ (List) ใน อนุญาต (Allow) ในช่อง แหล่งที่มา (Source) พิมพ์สูตร:

=$C$8:$C$9

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • กด ตกลง (OK)
  • ตอนนี้ เลือกเซลล์ C6 พิมพ์สูตร:

=INDIRECT("'"&C4&"'!C11")

  • กด Enter จะดึง ยอดขายรวม จากแผ่นงานที่ระบุในเซลล์ C4

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • สุดท้าย เปลี่ยนแผ่นงานโดยใช้ ตัวกรองแบบเลื่อนลง คุณจะเห็นการเปลี่ยนแปลงที่ต้องการในเซลล์ C6

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

อ่านเพิ่มเติม: วิธีดึงข้อมูลตามการเลือกจากรายการแบบเลื่อนลงใน Excel

4. VBA สำหรับสร้างตัวกรองแบบเลื่อนลงดึงข้อมูลตามการเลือกใน Excel

เราจะใช้รหัส VBA ในวิธีสุดท้ายนี้สำหรับ การสร้างตัวกรองแบบเลื่อนลงเพื่อดึงข้อมูลตามการเลือกใน Excel เรียนรู้กระบวนการเพื่อทราบวิธีปฏิบัติ

ขั้นตอน:

  • ขั้นแรก เรามีข้อมูลในแผ่น vba1

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • และเรามี ตัวกรองแบบเลื่อนลง ในแผ่น vba2 ตอนนี้เราต้องการกรองข้อมูลในแผ่น vba1 ตามการเลือก ตัวกรองแบบเลื่อนลง ในแผ่น vba2

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • คลิกขวาที่แผ่น vba2 เลือก View Code

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • หน้าต่าง Module จะปรากฏ
  • คัดลอกรหัสด้านล่างและวางไว้ที่นั่น
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Range("A2"), Target) Is Nothing Then
    Application.EnableEvents = False
    If Range("A2").Value = "" Then
        Worksheets("vba1").ShowAllData
    Else
        Worksheets("vba1").Range("A2").AutoFilter 1, Range("A2").Value
    End If
    Application.EnableEvents = True
End If
End Sub

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • กด F5 กล่องโต้ตอบ Macros จะปรากฏ พิมพ์ VBA ใน Macro Name
  • คลิก Create

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • กด F5 อีกครั้ง และเลือก Run

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • ปิดหน้าต่าง จาก ตัวกรองแบบเลื่อนลง เลือก TV

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • ข้อมูลที่กรองแล้วจะแสดงในแผ่น vba1

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

  • เช่นกัน เลือก AC จาก ตัวกรองแบบเลื่อนลง ใน vba2 จะคืนข้อมูลที่ดึงมา

สร้างตัวกรองแบบเลื่อนลง (Drop-Down Filter) ใน Excel เพื่อดึงข้อมูลแบบไดนามิก

อ่านเพิ่มเติม: VBA เลือกค่าจากรายการแบบเลื่อนลงใน Excel (2 วิธี)

สรุป

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

บทความที่เกี่ยวข้อง

  • วิธีสร้างฟอร์มพร้อมรายการแบบเลื่อนลงใน Excel
  • ซ่อน/แสดงคอลัมน์ตามการเลือกจากรายการแบบเลื่อนลงใน Excel
  • วิธีสร้างรายการแบบเลื่อนลงที่ขึ้นกันได้พร้อมหลายคำใน Excel
  • ลบรายการที่ใช้แล้วออกจากรายการแบบเลื่อนลงใน Excel (2 วิธี)
  • วิธيلบค่าซ้ำจากรายการแบบเลื่อนลงใน Excel (4 วิธี)