Lọc Dữ Liệu Trong Excel Theo Database Bằng Sql Vô Cùng Đơn Giản
--- Bài mới hơn ---
Đây là bài số #26 trong loạt videos Hướng dẫn VBA trong Excel và ứng dụng của VBA trong công việc
Đã bao giờ các bạn phải xử lý một lượng dữ liệu rất lớn ở trong Excel từ vài chục ngàn cho đến hàng trăm ngàn dòng? Các công cụ filter
hay bảng pivot
có thể một phần nào xử lý được những công việc trích lọc dữ liệu theo điều kiện, sắp xếp dữ liệu nặng nhọc này trong Excel cho bạn nhưng với tốc độ khá chậm, và đôi khi chúng ta còn có thể gặp trường hợp treo máy tính hoặc Excel ngừng hoạt động bởi vì lượng dữ liệu này quá lớn thậm chí Excel có thể thoát luôn và không thể khôi phục được dữ liệu? Khi tất cả các kĩ thuật xử lý dữ liệu bình thường trong excel đã được thử qua, các bạn có thể nghĩ đến SQL
. Vậy SQL
là gì và chúng ta sử dụng SQL
trong Excel
như thế nào? Bài viết và video này sẽ giúp cho các bạn có thêm một công cụ rất hữu dụng nữa để xử lý dữ liệu trong Excel.
SQL là cái gì?
SQL là từ viết tắt tiếng Anh của Structured Query Language, là một ngôn ngữ được phát triển chuyên để truy vấn dữ liệu từ một hệ thống quản trị cơ sở dữ liệu ( Wikipedia).
Nói một cách đơn giản hơn thì SQL
sẽ giúp chúng ta lấy dữ liệu từ bảng tính này sang bảng tính khác hoặc SQL
sẽ giúp chúng ta lọc dữ liệu theo nhiều điều kiện khác nhau theo cách mà các công cụ truyền thống như Advanced Filter hay Bảng Pivot có thể gặp khó khăn khi xử lý rất nhiều dữ liệu.
Ví dụ về sử dụng SQL trong Excel
Bảng dữ liệu trong Video
Trước khi xử lý bất kì dữ liệu nào, chúng ta cần đi tìm hiểu cấu trúc của bảng dữ liệu ở đây:
- Bảng dữ liệu của chúng ta bao gồm 7 cột từ cột A cho đến cột G.
- Vùng dữ liệu được lưu là
A1:G20000
- Mỗi cột chứa một thuộc tính của dữ liệu:
Sử dụng SQL để lọc hay truy cập dữ liệu trong bảng tính
Sau khi xác định được bảng dữ liệu của chúng ta như thế nào, chúng ta có thể sử dụng SQL để truy cập dữ liệu này với những câu lệnh SQL
sau:
Truy cập dữ liệu từ bảng tính Excel bằng SQL
Dấu *
ở trong câu lệnh này nghĩa là chúng ta muốn dữ liệu của tất cả các cột. Nếu các bạn sử dụng file Excel trong video để thực hiện những câu lệnh SQL này, bạn cần thêm mi_sql
vào đằng trước câu lệnh: mi_sql SELECT * FROM
trong ORDER BY [Unit Cost] DESC
bằng một cột khác. Nếu kiểu dữ liệu của một cột là dạng chuỗi thì cột đó sẽ được sắp xếp từ Z đến A, nếu kiểu dữ liệu của một cột là dạng số thì cột đó sẽ được sắp xếp nhỏ dần.
- Lọc dữ liệu của những đơn hàng bán sản phẩm có đơn giá (
Unit Cost
) lớn hơn hoặc bằng $8.99 sắp xếp từ mặt hàng có đơn giá rẻ nhất đến mặt hàng có đơn giá đắt nhấtỞ đây, khi chúng ta sử dụng ORDER BY
và không ghi DESC
như ví dụ trên thì SQL sẽ tự động sắp xếp theo chiều thuận nghĩa là nếu dữ liệu là chuỗi, thì sẽ được sắp xếp từ A đến Z, nếu dữ liệu là số thì sẽ được sắp xếp tăng dần.
- Lọc dữ liệu của những đơn hàng bán sản phẩm có đơn giá (
Unit Cost
) lớn hơn hoặc bằng $4.99 và nhỏ hơn hoặc bằng $15.99Ngoài ra chúng ta cũng có thể sử dụng từ khoá BETWEEN
để lọc dữ liệu trong khoảng giá trị
--- Bài cũ hơn ---