Hướng dẫn lọc dữ liệu trong EXCEL theo Database bằng SQL

Chia sẻ bởi:api_publisher
★★★★★
Quảng cáo

Tóm tắt: Hướng dẫn thực hành Excel, trình bày theo từng bước, có công thức mẫu và lưu ý áp dụng nhanh trong công việc.

Đâ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.

Download excel file kèm theo video

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

Dưới đây là bảng dữ liệu được kết nối trực tiếp từ Excel Online, bạn cần sử dụng một trình duyệt Web hiện đại (Google Chrome, Firefox, Safari) để có thể xem được bảng Excel này trực tiếp. Tài liệu Excel này có thể được download tại đây

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:
    1. Cột A: Ngày bán (OrderDate)
    2. Cột B: Vùng bán (Region)
    3. Cột C: Người bán (Rep)
    4. Cột D: Món hàng(Item)
    5. Cột E: Số lượng (Units)
    6. Cột F: Đơn giá (Unit Cost)
    7. Cột G: Thành tiền (Total)

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
  • Truy cập toàn bộ dữ liệu trong bảng tính
SELECT

*

FROM

[
A1
:
G20000
]

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 [A1:G20000]

  • Truy cập dữ liệu của một số cột nhất định: chúng ta ghi tên cột ra sau từ khoá SELECT và viết các cột ngăn cách nhau bằng dấu phẩy ,
SELECT

OrderDate
,

Region
,

Rep
,

Item

FROM

[
A1
:
G20000
]

Lọc dữ liệu bảng tính Excel bằng SQL
  • Lọc dữ liệu từ bảng tính Excel với 1 điều kiện: Lọc dữ liệu của những đơn hàng từ Hanoi
SELECT

*

FROM

[
A1
:
G20000
]

WHERE

Region
=
‘Hanoi’

Câu lệnh SQL trên có nghĩa là: từ vùng dữ liệu A1:G20000, lọc ra những dòng mà cột Region có giá trị là Hanoi

Từ khoá WHERE giúp chúng ta liệt kê điều kiện khi lọc dữ liệu.

  • Lọc dữ liệu từ bảng tính Excel với nhiều điều kiện: Lọc dữ liệu của những đơn hàng từ Hanoi hoặc Danang
SELECT

*

FROM

[
A1
:
G20000
]

WHERE

Region
=
‘Hanoi’

OR

Region
=
‘Danang’

Câu lệnh SQL trên có nghĩa là: từ vùng dữ liệu A1:G20000, lọc ra những dòng mà cột Region có giá trị là Hanoi hoặc Danang

Ngoài cách dùng từ khoá OR, chúng ta cũng có thể dùng từ khoá IN và câu lệnh SQL sẽ như sau:

SELECT

*

FROM

[
A1
:
G20000
]

WHERE

Region

IN

(
‘Hanoi’
,
‘Danang’
)

  • Lọc dữ liệu của những đơn hàng bán sản phẩm Pencil từ Hanoi
SELECT

*

FROM

[
A1
:
G20000
]

WHERE

Region
=
‘Hanoi’

AND

Item
=
‘Pencil’

Câu lệnh SQL trên có nghĩa là: từ vùng dữ liệu A1:G20000, lọc ra những dòng mà cột Region có giá trị là Hanoi và cột Item có giá trị là Pencil.

  • Lọc dữ liệu của những đơn hàng bán sản phẩm Pencil từ Hanoi và người bán là Jones
SELECT

*

FROM

[
A1
:
G20000
]

WHERE

Region
=
‘Hanoi’

AND

Item
=
‘Pencil’

AND

Rep
=
‘Jones’

  • Lọc dữ liệu của những đơn hàng bán sản phẩm có đơn giá (Unit Cost) nhỏ hơn hoặc bằng $ 8.99
SELECT

*

FROM

[
A1
:
G20000
]

WHERE

[
Unit

Cost
]

<=

8
.
99

Lưu ý: Chúng ta có thể thấy được trong ví dụ này, tên cột của bảng tính này là “Unit Cost” có dấu cách ở trong. Tốt nhất để tránh xảy ra lỗi khi truy vấn dữ liệu thì chúng ta không nên viết tên cột có dấu cách hoặc kí tự đặc biệt (có nghĩa là không viết tên cột bằng tiếng Việt có dấu). {. :notice}

  • Lọc dữ liệu của những đơn hàng bán sản phẩm có đơn giá (Unit Cost) nhỏ hơn hoặc bằng $8.99 sắp xếp từ mặt hàng có đơn giá đắt nhất đến mặt hàng có đơn giá rẻ nhất
SELECT

*

FROM

[
A1
:
G20000
]

WHERE

[
Unit

Cost
]

<=

8
.
99

ORDER

BY

[
Unit

Cost
]

DESC

Ở trong ví dụ này, chúng ta có thể thay [Unit Cost] 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
SELECT

*

FROM

[
A1
:
G20000
]

WHERE

[
Unit

Cost
]

>=

8
.
99

ORDER

BY

[
Unit

Cost
]

Ở đâ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.99
SELECT

*

FROM

[
A1
:
G20000
]

WHERE

[
Unit

Cost
]

>=

4
.
99

AND

[
Unit

Cost
]

<=

15
.
99

Ngoà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ị

SELECT

*

FROM

[
A1
:
G20000
]

WHERE

[
Unit

Cost
]

BETWEEN

4
.
99

AND

15
.
99

Download tài liệu kèm theo video tại đây

Download excel file

Hiện tại, Blog SprinGo đã mở rất nhiều các khóa học đào tạo về Học Excel cơ bản đến nâng cao với các chuyên gia hàng đầu tại Việt Nam. Chúng tôi sẽ mang đến cho bạn những buổi học bổ ích, hiệu quả có thể sử dụng thành thạo Excel để áp dụng trong công việc. Ngoài ra, chúng tôi đang có nhiều chương trình khuyến mại lớn cho các học viên đăng kí trong tháng này, vậy còn trần trừ gì nữa mà không đăng kí ngay thôi. Thông tin chi tiết xem tại:

Doanh nghiệp: 0969 798 944 | Cá nhân: 0984 394 338
Địa chỉ: KĐT Vinhome Gardenia Hàm Nghi, Cầu Diễn, Nam Từ Liêm, Hà Nội

Lưu ý:
  • Nội dung nêu trên là phần giải đáp, tư vấn của chúng tôi dành cho khách hàng của SPRINGO. Nếu quý khách còn vướng mắc, vui lòng gửi về Email hrspring.vn@gmail.com.
  • Nội dung bài viết chỉ mang tính chất tham khảo.
  • Điều khoản áp dụng theo Luật tại thời điểm viết bài.
  • Mọi ý kiến thắc mắc về bản quyền của bài viết vui lòng liên hệ qua địa chỉ mail hrspring.vn@gmail.com.
Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm