Chuyển tới nội dung chính

Bài 8: Nhóm Hàm Xử Lý Chuỗi (Text) & Thời Gian (Date)

Giai đoạn 2 – Trung cấp · Mục tiêu: Tách, cắt, làm sạch chuỗi văn bản và thao tác chuyên nghiệp với dữ liệu ngày tháng.


1. Nhóm hàm xử lý Chuỗi (Text)​

1.1. Tách chuỗi ký tự​

HàmCú phápMô tả
LEFT=LEFT(text, n)Lấy n ký tự từ bên trái
RIGHT=RIGHT(text, n)Lấy n ký tự từ bên phải
MID=MID(text, start, n)Lấy n ký tự bắt đầu từ vị trí start

Ví dụ: Ô A1 chứa "SP-001-LAPTOP"

=LEFT(A1, 2) → "SP"
=RIGHT(A1, 6) → "LAPTOP"
=MID(A1, 4, 3) → "001"

1.2. Kiểm tra độ dài & Làm sạch​

HàmCú phápMô tả
LEN=LEN(text)Đếm số ký tự (bao gồm khoảng trắng)
TRIM=TRIM(text)Xóa khoảng trắng thừa (đầu, cuối, giữa chỉ giữ 1)
CLEAN=CLEAN(text)Xóa ký tự không in được

Ví dụ:

=LEN("Xin chào") → 8
=TRIM(" Xin chào ") → "Xin chào"

:::tip Ứng dụng thực tế Khi copy dữ liệu từ web hoặc hệ thống khác, luôn dùng =TRIM(CLEAN(A1)) để làm sạch trước khi xử lý! :::

1.3. Chuyển đổi định dạng chữ​

HàmChức năngVí dụ
UPPERViết HOA toàn bộ=UPPER("xin chào") → "XIN CHÀO"
LOWERViết thường toàn bộ=LOWER("XIN CHÀO") → "xin chào"
PROPERViết Hoa Chữ Cái Đầu=PROPER("xin chào") → "Xin Chào"

1.4. Các hàm Text hữu ích khác​

HàmCú phápMô tả
CONCATENATE / &=A1&" "&B1Nối chuỗi
SUBSTITUTE=SUBSTITUTE(text, old, new)Thay thế chuỗi con
FIND=FIND(find_text, text)Tìm vị trí (phân biệt hoa/thường)
SEARCH=SEARCH(find_text, text)Tìm vị trí (không phân biệt hoa/thường)
TEXT=TEXT(value, format)Chuyển giá trị thành text theo định dạng

Ví dụ nâng cao – Tách Họ và Tên:

Họ: =LEFT(A1, FIND(" ", A1)-1)
Tên: =RIGHT(A1, LEN(A1)-FIND(" ", A1))

2. Nhóm hàm xử lý Thời Gian (Date)​

2.1. Hàm trích xuất thành phần ngày​

HàmCú phápKết quảVí dụ (01/06/2024)
DAY=DAY(date)Ngày1
MONTH=MONTH(date)Tháng6
YEAR=YEAR(date)Năm2024
WEEKDAY=WEEKDAY(date)Thứ trong tuần (1-7)7 (Thứ 7)

2.2. Hàm ngày hiện tại​

HàmKết quả
=TODAY()Ngày hiện tại (tự động cập nhật)
=NOW()Ngày + giờ hiện tại

2.3. Hàm DATEDIF – Tính khoảng cách thời gian​

:::info Hàm ẩn DATEDIF là hàm không xuất hiện trong danh sách gợi ý của Excel nhưng hoạt động hoàn toàn bình thường. :::

=DATEDIF(ngày_bắt_đầu, ngày_kết_thúc, đơn_vị)
Đơn vịÝ nghĩaVí dụ (01/01/2020 → 15/06/2024)
"Y"Số năm tròn4
"M"Số tháng tròn53
"D"Số ngày1627
"YM"Số tháng lẻ (sau khi trừ năm)5
"MD"Số ngày lẻ (sau khi trừ tháng)14

Ứng dụng thực tế​

Tính tuổi: =DATEDIF(B2, TODAY(), "Y") & " tuổi"
Thâm niên: =DATEDIF(C2, TODAY(), "Y") & " năm " & DATEDIF(C2, TODAY(), "YM") & " tháng"
Hạn hợp đồng: =IF(DATEDIF(D2, TODAY(), "M") > 12, "Hết hạn", "Còn hạn")

Bài tập thực hành​

Cho bảng nhân viên: Họ tên đầy đủ, Ngày sinh, Ngày vào công ty, Email.

  1. Tách Họ và Tên thành 2 cột riêng.
  2. Tính tuổi hiện tại (dùng DATEDIF).
  3. Tính thâm niên công tác (năm + tháng).
  4. Từ Email, trích xuất tên miền (phần sau @).
  5. Chuẩn hóa cột Họ tên bằng PROPER và TRIM.

Bài trước: Bài 7 – Hàm Tìm Kiếm · Bài tiếp: Bài 9 – Công Cụ Quản Lý Dữ Liệu