Menu

Tự động tạo danh sách dropdown phụ thuộc (cascading dropdown) trong Google Sheets

Thạch Diệp Vọng 07/06/2026 23:45 517 lượt xem 2 trả lời

Chào các anh em trong diễn đàn,

Dạo này mình đang làm một file quản lý dữ liệu khách hàng trên Google Sheets và gặp phải vấn đề cần tạo danh sách thả xuống phụ thuộc (cascading dropdown). Ví dụ, khi chọn Tỉnh/Thành phố ở ô A1, thì danh sách các Quận/Huyện ở ô B1 sẽ tự động hiển thị các quận/huyện tương ứng của tỉnh/thành phố đó.

Mình đã tìm hiểu và thử nghiệm một số cách, hôm nay chia sẻ lại với mọi người một phương pháp khá hiệu quả mà mình thấy ít được đề cập:

  • Bước 1: Chuẩn bị dữ liệu nguồn
    • Tạo một sheet mới (ví dụ tên là DataNguon).
    • Trong sheet này, bạn tạo 2 cột: Cột đầu tiên là Tỉnh/Thành phố, cột thứ hai là Quận/Huyện.
    • Nhập dữ liệu theo dạng: mỗi dòng là một cặp Tỉnh/Thành phố - Quận/Huyện. Nếu một Tỉnh có nhiều Quận/Huyện, bạn lặp lại Tên Tỉnh ở các dòng tương ứng.
    • Ví dụ:
    Tỉnh/Thành phố | Quận/Huyện
    Miền Bắc | Hà Nội
    Miền Bắc | Hải Phòng
    Miền Trung | Đà Nẵng
    Miền Trung | Huế
    Miền Nam | TP. Hồ Chí Minh
    Miền Nam | Cần Thơ
  • Bước 2: Tạo danh sách dropdown chính (Tỉnh/Thành phố)
    • Tại ô bạn muốn tạo dropdown đầu tiên (ví dụ ô A2 trên Sheet1), vào Data > Data validation.
    • Chọn CriteriaList from a range.
    • Trong ô Range, nhập công thức để lấy danh sách Tỉnh/Thành phố duy nhất từ sheet DataNguon. Giả sử Tỉnh/Thành phố nằm ở cột A của DataNguon, bạn nhập: =UNIQUE(DataNguon!A2:A)
    • Nhấn Save.
  • Bước 3: Tạo danh sách dropdown phụ thuộc (Quận/Huyện)
    • Tại ô bạn muốn tạo dropdown thứ hai (ví dụ ô B2 trên Sheet1), vào Data > Data validation.
    • Chọn CriteriaList from a range.
    • Trong ô Range, nhập công thức sử dụng hàm FILTER để lấy danh sách Quận/Huyện dựa trên Tỉnh/Thành phố đã chọn ở ô A2. Giả sử Tỉnh/Thành phố ở A2 và Quận/Huyện ở B2 của sheet DataNguon:
      =FILTER(DataNguon!B2:B, DataNguon!A2:A = A2)
    • Nhấn Save.

    Lưu ý: Bạn cần áp dụng Data Validation cho toàn bộ cột hoặc các dòng cần thiết. Có thể dùng Apply to range để chọn nhiều dòng.

    Cách này giúp dữ liệu nhập vào có cấu trúc và tránh sai sót. Mọi người thử xem sao và cho mình xin ý kiến nhé!

    2

    Tuyệt vời! Mình cũng đang mày mò vụ này, cảm ơn bạn đã chia sẻ kinh nghiệm.

    Về phần chuẩn bị dữ liệu nguồn, mình có một cách khác cũng khá gọn gàng, có thể hữu ích cho mọi người: thay vì tạo bảng riêng, mình có thể dùng hàm UNIQUE để lấy danh sách tỉnh/thành phố duy nhất từ cột dữ liệu gốc, và dùng FILTER để lấy danh sách quận/huyện tương ứng. Như vậy sẽ đỡ phải quản lý thêm một bảng dữ liệu nữa.

    Không biết bạn đã thử cách này chưa? Nếu có thì chia sẻ thêm nhé!

    2

    Hay quá bạn ơi! Mình cũng đang bí vụ này nè. Bạn có thể chia sẻ chi tiết hơn về Bước 1: Chuẩn bị dữ liệu nguồn không? Mình hình dung ra là mình sẽ phải tạo 1 bảng riêng với cột Tỉnh/TP và cột Quận/Huyện tương ứng đúng không?

    2

    Bạn cần đăng nhập để trả lời chủ đề này.

    Đăng nhập Đăng ký