Bài 13 · THVP
UPPER, LOWER, PROPER, LEN, TRIM, LEFT, RIGHT, MID, CONCAT kèm bài tập thực hành
🎯 Mục tiêu bài học
- Hiểu cấu trúc và đối số của các hàm xử lý văn bản trong Excel.
- Dùng UPPER, LOWER, PROPER để chuẩn hoá cách viết hoa của họ tên, email.
- Dùng LEN đếm ký tự và TRIM xoá khoảng trắng thừa để làm sạch dữ liệu.
- Dùng LEFT, RIGHT, MID để tách mã hàng thành loại hàng, kho và số thứ tự.
- Dùng CONCAT (và toán tử &) để ghép chuỗi, chèn khoảng trắng và dấu phân cách.
- Hoàn thành 2 bài tập mẫu tổng hợp cả 9 hàm.
📋 Bảng mẫu để thực hành
Nhập lại bảng mẫu trong Excel, sau đó thực hiện các yêu cầu bên phải.
| Hàng | B — Mã nhân viên | C — Họ và tên (thô) | D — Họ đệm | E — Tên | F — Phòng ban |
|---|
| 4 | NV-KT-001 | nguyễn văn an | Nguyễn | An | Kế toán |
| 5 | NV-NS-002 | TRẦN THỊ BÌNH | Trần | Bình | Nhân sự |
| 6 | NV-KD-003 | lê minh cường | Lê | Cường | Kinh doanh |
| 7 | NV-KT-004 | PHẠM THỊ DUNG | Phạm | Dung | Kế toán |
| 8 | NV-KD-005 | hoàng văn đức | Hoàng | Đức | Kinh doanh |
| 9 | NV-NS-006 | vũ thị hương | Vũ | Hương | Nhân sự |
🔤 Ghi nhớ nhanh cấu trúc 9 hàm
| Hàm | Cấu trúc | Công dụng |
|---|
| UPPER | =UPPER(văn_bản) | Đổi thành CHỮ IN HOA |
| LOWER | =LOWER(văn_bản) | Đổi thành chữ thường |
| PROPER | =PROPER(văn_bản) | Viết hoa chữ cái đầu mỗi từ |
| LEN | =LEN(văn_bản) | Đếm số ký tự, kể cả khoảng trắng |
| TRIM | =TRIM(văn_bản) | Xoá khoảng trắng thừa, giữ 1 khoảng giữa các từ |
| LEFT | =LEFT(văn_bản; số_ký_tự) | Cắt ký tự từ bên trái |
| RIGHT | =RIGHT(văn_bản; số_ký_tự) | Cắt ký tự từ bên phải |
| MID | =MID(văn_bản; vị_trí_bắt_đầu; số_ký_tự) | Cắt ký tự ở giữa |
| CONCAT | =CONCAT(văn_bản1; văn_bản2; …) | Nối nhiều chuỗi thành một |
💡 Dấu ngăn cách đối số là ; hoặc , tuỳ cài đặt máy. Nếu Excel báo lỗi công thức, hãy đổi sang dấu còn lại.
Hướng dẫn chi tiết 9 hàm xử lý văn bản trong Excel
Mỗi phần đều nêu cấu trúc hàm, cách sử dụng từng bước và ảnh minh hoạ thực tế trong Excel.
Hàm UPPER — đổi thành CHỮ IN HOA
- Cấu trúc: =UPPER(văn_bản). Công dụng: đổi mọi chữ cái trong ô thành chữ in hoa.
- Nhấn vào ô cần hiện kết quả, ví dụ ô G4 bên cạnh cột Họ và tên.
- Gõ =UPPER( rồi nhấn chuột vào ô C4 chứa họ tên.
- Đóng ngoặc ) và nhấn Enter — ô hiện NGUYỄN VĂN AN.
- Kéo Fill Handle (ô vuông nhỏ góc dưới phải) xuống hết cột để áp dụng cho các dòng còn lại.
- Muốn giữ lại kết quả và xoá cột gốc: chọn cột kết quả → Ctrl + C → chuột phải → Paste Special → Values.
- Lưu ý: UPPER chỉ tác động lên chữ cái, số và dấu câu giữ nguyên.
💡 Kết hợp với TRIM để vừa in hoa vừa xoá khoảng trắng thừa: =UPPER(TRIM(C4)).
Hình 1: Hàm UPPER — đổi thành CHỮ IN HOAHàm LOWER — đổi thành chữ thường
- Cấu trúc: =LOWER(văn_bản). Công dụng: đổi mọi chữ cái thành chữ thường.
- Nhấn vào ô kết quả, gõ =LOWER( rồi chọn ô chứa văn bản, ví dụ C4.
- Đóng ngoặc ) và nhấn Enter — TRẦN THỊ BÌNH thành trần thị bình.
- Kéo Fill Handle xuống để áp dụng cho cả cột.
- Ứng dụng phổ biến: chuẩn hoá email hoặc tên đăng nhập trước khi gửi danh sách.
- Lưu ý: LOWER không xoá được khoảng trắng thừa, cần dùng thêm TRIM.
💡 Tạo email tự động: =LOWER(CONCAT(E4;".";D4;"@tcmaster.vn")).
Hình 2: Hàm LOWER — đổi thành chữ thườngHàm PROPER — viết hoa chữ đầu mỗi từ
- Cấu trúc: =PROPER(văn_bản). Công dụng: viết hoa chữ cái đầu của từng từ, các chữ còn lại thành chữ thường.
- Nhấn ô kết quả, gõ =PROPER( rồi chọn ô C4.
- Đóng ngoặc ) và nhấn Enter — nguyen van an thành Nguyen Van An.
- Kéo Fill Handle xuống hết danh sách.
- Dùng để chuẩn hoá danh sách họ tên nhập lộn xộn (khi thì hoa hết, khi thì thường hết).
- Lưu ý: PROPER cũng viết hoa sau dấu gạch nối hoặc dấu chấm, ví dụ tp.hcm thành Tp.Hcm — cần sửa tay các trường hợp này.
💡 Bộ ba chuẩn hoá danh sách: =PROPER(TRIM(C4)) rồi Paste Special → Values để giữ kết quả.
Hình 3: Hàm PROPER — viết hoa chữ đầu mỗi từHàm LEN — đếm số ký tự
- Cấu trúc: =LEN(văn_bản). Công dụng: trả về số ký tự có trong ô, kể cả khoảng trắng và dấu.
- Nhấn ô kết quả, gõ =LEN( rồi chọn ô B4 chứa mã nhân viên.
- Đóng ngoặc ) và nhấn Enter — kết quả là 9 với mã NV-KT-001.
- Kéo Fill Handle xuống để kiểm tra toàn bộ danh sách.
- Ứng dụng: kiểm tra mã nhập sai độ dài — dòng nào LEN khác 9 là nhập thiếu hoặc thừa ký tự.
- Đếm số ký tự thực (bỏ khoảng trắng thừa): =LEN(TRIM(C4)).
- So sánh nhanh để phát hiện khoảng trắng thừa: =LEN(C4)-LEN(TRIM(C4)) khác 0 là có lỗi.
💡 Kết hợp Conditional Formatting với công thức =LEN(B4)<>9 để tô đỏ các mã sai độ dài.
Hình 4: Hàm LEN — đếm số ký tựHàm TRIM — xoá khoảng trắng thừa
- Cấu trúc: =TRIM(văn_bản). Công dụng: xoá khoảng trắng ở đầu, ở cuối và các khoảng trắng thừa giữa các từ (chỉ giữ lại 1).
- Nhấn ô kết quả, gõ =TRIM( rồi chọn ô C4.
- Đóng ngoặc ) và nhấn Enter — 'nguyễn văn an' thành 'nguyễn văn an'.
- Kéo Fill Handle xuống hết cột.
- Chọn cột kết quả → Ctrl + C → Paste Special → Values → xoá cột gốc để giữ dữ liệu sạch.
- Lưu ý: TRIM không xoá được ký tự đặc biệt copy từ web; khi đó dùng thêm =CLEAN(TRIM(C4)).
- Vì sao quan trọng: dữ liệu có khoảng trắng thừa sẽ làm VLOOKUP và các phép so sánh bị sai.
💡 Luôn chạy TRIM cho mọi cột văn bản vừa copy từ Word hoặc từ website trước khi tính toán.
Hình 5: Hàm TRIM — xoá khoảng trắng thừaHàm LEFT — cắt ký tự từ bên trái
- Cấu trúc: =LEFT(văn_bản; số_ký_tự). Công dụng: lấy một số ký tự tính từ bên trái chuỗi.
- Nhấn ô kết quả, gõ =LEFT( rồi chọn ô B4, gõ dấu ; và nhập số 2.
- Đóng ngoặc ) và nhấn Enter — NV-KT-001 cho ra NV.
- Kéo Fill Handle xuống để tách nhóm cho cả danh sách.
- Bỏ trống đối số thứ hai thì Excel lấy mặc định 1 ký tự.
- Kết hợp với LEN để bỏ n ký tự cuối: =LEFT(B4;LEN(B4)-4).
- Lưu ý: kết quả là văn bản; nếu cần dùng để tính toán hãy bọc thêm =VALUE(LEFT(...)).
💡 Muốn lấy phần trước dấu gạch đầu tiên: =LEFT(B4;FIND("-";B4)-1).
Hình 6: Hàm LEFT — cắt ký tự từ bên tráiHàm RIGHT — cắt ký tự từ bên phải
- Cấu trúc: =RIGHT(văn_bản; số_ký_tự). Công dụng: lấy một số ký tự tính từ bên phải chuỗi.
- Nhấn ô kết quả, gõ =RIGHT( rồi chọn ô B4, gõ ; và nhập số 3.
- Đóng ngoặc ) và nhấn Enter — NV-KT-001 cho ra 001.
- Kéo Fill Handle xuống hết danh sách để lấy số thứ tự của mọi nhân viên.
- Đổi kết quả sang số thật: =VALUE(RIGHT(B4;3)) — số 001 sẽ thành 1.
- Lấy 4 số cuối của số điện thoại để in phiếu: =RIGHT(số_điện_thoại;4).
- Lưu ý: nếu số_ký_tự lớn hơn độ dài chuỗi, hàm trả về toàn bộ chuỗi.
💡 Lấy tên (từ cuối cùng) trong họ tên đầy đủ: =RIGHT(C4;LEN(C4)-FIND("@";SUBSTITUTE(C4;" ";"@";LEN(C4)-LEN(SUBSTITUTE(C4;" ";"")))))
Hình 7: Hàm RIGHT — cắt ký tự từ bên phảiHàm MID — cắt ký tự ở giữa
- Cấu trúc: =MID(văn_bản; vị_trí_bắt_đầu; số_ký_tự). Công dụng: cắt ký tự ở bất kỳ vị trí nào trong chuỗi.
- Nhấn ô kết quả, gõ =MID( rồi chọn ô B4.
- Gõ ; rồi nhập 4 (vị trí bắt đầu), gõ ; rồi nhập 2 (số ký tự cần lấy).
- Đóng ngoặc ) và nhấn Enter — NV-KT-001 cho ra KT là mã phòng ban.
- Kéo Fill Handle xuống hết cột.
- Đếm vị trí ký tự bắt đầu từ 1 (ký tự đầu tiên là vị trí 1), tính cả dấu gạch nối.
- Kết hợp với FIND khi độ dài không cố định: =MID(B4;FIND("-";B4)+1;2).
💡 Tách năm sinh từ số CCCD hoặc mã hồ sơ dạng HS2024001: =MID(mã;3;4).
Hình 8: Hàm MID — cắt ký tự ở giữaHàm CONCAT — nối chuỗi văn bản
- Cấu trúc: =CONCAT(văn_bản1; văn_bản2; …). Công dụng: nối nhiều ô hoặc nhiều chuỗi thành một chuỗi duy nhất.
- Nhấn vào ô Họ và tên đầy đủ, gõ =CONCAT( rồi chọn ô D4 (Họ đệm).
- Gõ ; rồi nhập " " (dấu nháy kép, một khoảng trắng, dấu nháy kép) để tách hai từ.
- Gõ ; rồi chọn ô E4 (Tên), đóng ngoặc ) và nhấn Enter.
- Kéo Fill Handle xuống hết cột để nối cho toàn bộ danh sách.
- Cách viết ngắn tương đương dùng dấu &: =D4&" "&E4.
- CONCAT nối được cả vùng ô liền kề: =CONCAT(D4:E4) — nhưng không tự chèn khoảng trắng.
- Muốn nối cả cột và tự chèn dấu phân cách, dùng TEXTJOIN: =TEXTJOIN(", ";TRUE;C4:C9).
💡 Hàm CONCATENATE cũ vẫn chạy được nhưng Microsoft khuyến nghị dùng CONCAT hoặc TEXTJOIN.
Hình 9: Hàm CONCAT — nối chuỗi văn bản📝 Bài tập mẫu để luyện tập
Hai bài tập dưới đây bao quát cả 9 hàm vừa học. Hãy tự làm trước rồi mới mở phần đáp án gợi ý.
Bài tập 1 — Chuẩn hoá danh sách học viên
Nhập bảng sau vào Excel (tiêu đề ở hàng 3, dữ liệu từ hàng 4) rồi dùng các hàm UPPER, LOWER, PROPER, TRIM, LEN để làm sạch dữ liệu.
Danh sách học viên lớp Tin học văn phòng K12| Hàng | B — Mã HV | C — Họ và tên (thô) | D — Email đăng ký |
|---|
| 4 | HV-K12-01 | nguyễn thị mai | Mai.Nguyen@Gmail.Com |
| 5 | HV-K12-02 | TRẦN QUỐC BẢO | BAO.TRAN@Gmail.com |
| 6 | HV-K12-03 | lê hoàng nam | Nam.Le@gmail.COM |
| 7 | HV-K12-04 | Phạm Thu Hà | Ha.Pham@Gmail.com |
| 8 | HV-K12-05 | VÕ MINH TRÍ | Tri.Vo@GMAIL.com |
Xem đáp án gợi ý
- E4:
=TRIM(C4) - F4:
=PROPER(TRIM(C4)) - G4:
=UPPER(TRIM(C4)) - H4:
=LOWER(D4) - I4:
=LEN(TRIM(C4)) - J4:
=LEN(C4)-LEN(TRIM(C4))
Bài tập 2 — Tách mã hàng và tạo tên đầy đủ
Nhập bảng mã hàng dưới đây (tiêu đề hàng 3, dữ liệu từ hàng 4) rồi dùng LEFT, MID, RIGHT, CONCAT, LEN để tách và ghép thông tin.
Bảng mã hàng kho TCMaster — cấu trúc: 2 ký tự loại + 3 ký tự kho + 4 số thứ tự| Hàng | B — Mã hàng | C — Tên hàng | D — Họ NV phụ trách | E — Tên NV |
|---|
| 4 | VPHCM0125 | Bút bi Thiên Long | Nguyễn Văn | An |
| 5 | DTHNI0347 | Điện thoại bàn | Trần Thị | Bình |
| 6 | VPDNG0088 | Vở học sinh | Lê Minh | Cường |
| 7 | MTHCM1204 | Máy tính Casio | Phạm Thị | Dung |
| 8 | DTHNI0562 | Điện thoại di động | Hoàng Văn | Đức |
Xem đáp án gợi ý
- F4:
=LEFT(B4;2) - G4:
=MID(B4;3;3) - H4:
=RIGHT(B4;4) - I4:
=VALUE(RIGHT(B4;4)) - J4:
=CONCAT(D4;" ";E4) - K4:
=CONCAT(G4;" - ";C4;" (";H4;")") - L4:
=LEN(B4)
Tài liệu đang được cập nhật.