Chuyển đổi số từ hệ thập phân sang nhị phân hoặc thập lục phân thường đòi hỏi công thức phức tạp hoặc phải dùng máy tính riêng. Hàm BASE trong Excel giải quyết vấn đề này chỉ trong một dòng công thức đơn giản.
Tại sao bạn cần biết hàm BASE
Trước Excel 2013, việc chuyển đổi hệ cơ số trong bảng tính khá rắc rối. Bạn phải dùng các hàm riêng lẻ như DEC2BIN cho nhị phân, DEC2HEX cho thập lục phân, hoặc tự viết công thức dài dòng cho các cơ số khác. Hàm BASE thay thế tất cả bằng một công thức linh hoạt hỗ trợ 35 hệ cơ số khác nhau, từ cơ số 2 đến cơ số 36.
Đặc biệt hữu ích cho lập trình viên cần chuyển đổi địa chỉ bộ nhớ, kỹ sư làm việc với dữ liệu nhị phân, hoặc bất kỳ ai cần mã hóa dữ liệu theo các hệ cơ số khác nhau. Thay vì chuyển qua lại giữa Excel và công cụ khác, bạn xử lý mọi thứ ngay trong bảng tính.
Cú pháp và cách sử dụng
Công thức cơ bản của hàm BASE rất đơn giản:
Cú pháp: =BASE(số, cơ_số, [độ_dài_tối_thiểu])
Tham số:
- số: Số thập phân bạn muốn chuyển đổi. Phải là số nguyên từ 0 đến dưới 2^53.
- cơ_số: Hệ cơ số đích, từ 2 đến 36. Ví dụ: 2 cho nhị phân, 8 cho bát phân, 16 cho thập lục phân.
- độ_dài_tối_thiểu: Tùy chọn. Độ dài tối thiểu của chuỗi kết quả. Excel sẽ thêm số 0 vào đầu nếu kết quả ngắn hơn.
Ví dụ đơn giản:
Chuyển số 250 sang nhị phân:
=BASE(250, 2)
Kết quả: “11111010”
Chuyển số 255 sang thập lục phân:
=BASE(255, 16)
Kết quả: “FF”
Chuyển số 64 sang bát phân:
=BASE(64, 8)
Kết quả: “100”
Kiểm soát độ dài với tham số thứ ba
Tham số độ dài tối thiểu đặc biệt hữu ích khi bạn cần định dạng thống nhất. Giả sử bạn làm việc với mã màu hoặc địa chỉ bộ nhớ, cần đảm bảo tất cả các giá trị có cùng độ dài.
Ví dụ không dùng độ dài tối thiểu:
=BASE(15, 2)
Kết quả: “1111” (4 ký tự)
Ví dụ có độ dài tối thiểu:
=BASE(15, 2, 8)
Kết quả: “00001111” (8 ký tự với số 0 đệm đầu)
Điều này đảm bảo tất cả các giá trị nhị phân trong cột có cùng độ dài, dễ đọc và so sánh hơn. Đặc biệt hữu ích khi xuất dữ liệu sang các hệ thống khác yêu cầu định dạng cố định.
Lưu ý: Độ dài tối thiểu không thể vượt quá 255 ký tự. Nếu bạn nhập giá trị lớn hơn, hàm trả về lỗi #NUM!.
Các hệ cơ số phổ biến trong thực tế
Nhị phân (cơ số 2): Dùng trong lập trình, xử lý dữ liệu bit. Ví dụ, chuyển quyền truy cập file (chmod) từ số thập phân sang nhị phân để xem từng bit quyền.
=BASE(7, 2)
Kết quả: “111” (tương ứng với rwx trong Unix)
Bát phân (cơ số 8): Thường dùng trong lập trình hệ thống Unix/Linux, đặc biệt cho quyền truy cập file.
=BASE(755, 8)
Kết quả: “1363”
Thập lục phân (cơ số 16): Dùng rộng rãi trong lập trình, mã màu HTML/CSS, địa chỉ bộ nhớ.
=BASE(16777215, 16)
Kết quả: “FFFFFF” (màu trắng trong mã màu RGB)
Cơ số 36: Cơ số cao nhất mà BASE hỗ trợ, sử dụng tất cả 26 chữ cái và 10 chữ số. Hữu ích cho mã hóa compact.
=BASE(1000, 36)
Kết quả: “RS”
Xử lý lỗi phổ biến
Lỗi #NUM! xuất hiện khi:
- Số nhập vào nhỏ hơn 0 hoặc lớn hơn hoặc bằng 2^53
=BASE(-10, 2) ❌ Lỗi #NUM!
- Cơ số nhỏ hơn 2 hoặc lớn hơn 36
=BASE(100, 50) ❌ Lỗi #NUM!
- Độ dài tối thiểu nhỏ hơn 0 hoặc lớn hơn 255
=BASE(10, 2, 300) ❌ Lỗi #NUM!
Lỗi #VALUE! xuất hiện khi:
Bạn nhập văn bản thay vì số:
=BASE("ABC", 16) ❌ Lỗi #VALUE!
Mẹo: Nếu số nhập vào là số thập phân (có phần lẻ), Excel tự động cắt bỏ phần lẻ. Ví dụ: =BASE(15.9, 2)
cho kết quả giống =BASE(15, 2)
.
Kết hợp với các hàm khác
Hàm BASE trả về chuỗi văn bản, nên bạn có thể kết hợp với các hàm xử lý chuỗi:
Chuyển sang chữ thường:
=LOWER(BASE(255, 16))
Kết quả: “ff” thay vì “FF”
Thêm tiền tố cho mã màu:
="#" & BASE(16711680, 16, 6)
Kết quả: “#FF0000
” (màu đỏ chuẩn HTML)
Nối nhiều giá trị:
=BASE(192, 10) & "." & BASE(168, 10) & "." & BASE(1, 10) & "." & BASE(1, 10)
Kết quả: “192.168.1.1”
Khi nào nên dùng hàm BASE
Dùng BASE khi:
- Cần chuyển đổi sang bất kỳ cơ số nào từ 2-36
- Làm việc với nhiều hệ cơ số khác nhau trong cùng bảng tính
- Cần kiểm soát độ dài đầu ra bằng số 0 đệm
- Muốn mã hóa dữ liệu compact (cơ số 36)
Dùng hàm chuyên biệt khi:
- Chỉ cần chuyển sang nhị phân, bát phân, hoặc thập lục phân → DEC2BIN, DEC2OCT, DEC2HEX đơn giản hơn
- Cần tương thích với Excel 2010 trở về trước → BASE không khả dụng
Tương thích và yêu cầu
Hàm BASE chỉ khả dụng từ Excel 2013 trở lên, bao gồm Excel 2013, 2016, 2019, 2021 và Microsoft 365. Nếu bạn chia sẻ file với người dùng Excel 2010 hoặc cũ hơn, họ sẽ thấy lỗi #NAME! thay vì kết quả.
Để kiểm tra tương thích, vào File > Info > Check for Issues > Check Compatibility. Excel sẽ cảnh báo nếu bạn dùng hàm không tương thích với phiên bản cũ hơn.
Nếu cần tương thích ngược, hãy dùng DEC2BIN, DEC2OCT, và DEC2HEX thay thế cho các chuyển đổi cơ bản. Các hàm này có sẵn từ Excel 2003.