Hàm ngày tháng, số và tiền
Nhóm này gồm 11 hàm phục vụ phần "chữ nghĩa" và phần tính toán của hồ sơ xây dựng: viết ngày giờ thành câu chuẩn biên bản (Việt, Anh hoặc song ngữ), đổi qua lại âm lịch – dương lịch, đọc số tiền thành chữ, tự động diễn giải công thức thành dòng thuyết minh khối lượng, nội suy tuyến tính và tính trọng lượng thép.
Các ví dụ dưới đây dùng dấu chấm phẩy ; để ngăn cách tham số (Excel chạy trên Regional format Việt Nam). Nếu máy bạn dùng định dạng English (US), hãy gõ dấu phẩy , thay cho ;.
Bảng tra nhanh:
| Hàm | Công dụng |
|---|---|
dvdLDate | Viết ngày tháng năm thành chuỗi chuẩn biên bản. |
dvdLTime | Viết giờ phút thành chuỗi chữ. |
dvdLTimeDate | Viết đầy đủ giờ phút và ngày tháng năm thành chuỗi chữ. |
dvdLunarToSolar | Đổi ngày âm lịch sang dương lịch. |
dvdSolarToLunar | Đổi ngày dương lịch sang âm lịch. |
dvdVnd | Đọc số tiền Việt Nam đồng thành chữ. |
dvdUsd | Đọc số tiền Dollar thành chữ tiếng Anh. |
dvdExplain | Diễn giải công thức theo dạng kết quả = biểu thức. |
dvdExplainE | Diễn giải công thức theo dạng biểu thức = kết quả. |
dvdNoiSuy | Nội suy tuyến tính một chiều. |
dvdSteelWeight | Tính trọng lượng thép theo đường kính và số lượng. |
dvdLDate
Viết một ô ngày tháng thành chuỗi chữ theo mẫu biên bản, có thể thêm địa danh ở đầu câu.
Cú pháp:
=dvdLDate(shortDate; [Location]; [Language])| Tham số | Bắt buộc | Mô tả |
|---|---|---|
shortDate | Có | Ô chứa giá trị kiểu ngày tháng năm. |
Location | Không | Địa danh thêm vào trước chuỗi. |
Language | Không | 0 = Tiếng Việt (mặc định), 1 = Tiếng Anh, 2 = song ngữ. |
Ví dụ:
=dvdLDate(D6; "Hà Nội"; 0)
// → "Hà Nội, ngày 22 tháng 8 năm 2026"
=dvdLDate(D6; ; 2)
// → "ngày/date 22 tháng/month 8 năm/year 2026"Lưu ý
- Truyền
Locationlà chuỗi rỗng""sẽ cho ra dòng chấm để điền tay:...................., ngày 22 tháng 8 năm 2026. - Ô ngày trống hoặc bằng 0 cho ra mẫu bỏ trống
ngày….......tháng….......năm…......— tiện khi in biểu mẫu ký sau. - Ngày luôn hiển thị hai chữ số; tháng 1 và tháng 2 hiển thị
01,02.
dvdLTime
Viết một giá trị thời gian thành chuỗi giờ và phút bằng chữ.
Cú pháp:
=dvdLTime(shortTime; [Language])| Tham số | Bắt buộc | Mô tả |
|---|---|---|
shortTime | Có | Giá trị thời gian kiểu Date. |
Language | Không | 0 = Tiếng Việt (mặc định), 1 = Tiếng Anh, 2 = song ngữ. |
Ví dụ:
=dvdLTime(E6; 0)
// → "08 giờ 30 phút"
=dvdLTime(E6; 2)
// → "08 giờ/hours 30 phút/minutes"Lưu ý
- Giá trị rỗng cho ra mẫu bỏ trống
….......giờ….......phútđể in biểu mẫu điền tay.
dvdLTimeDate
Viết đầy đủ giờ, phút, ngày, tháng, năm thành một chuỗi — dùng cho dòng mở đầu biên bản nghiệm thu.
Cú pháp:
=dvdLTimeDate(shortTime; shortDate; [Language])| Tham số | Bắt buộc | Mô tả |
|---|---|---|
shortTime | Có | Giá trị thời gian kiểu Date. |
shortDate | Có | Giá trị ngày kiểu Date. |
Language | Không | 0 = Tiếng Việt (mặc định), 1 = Tiếng Anh, 2 = song ngữ. |
Ví dụ:
=dvdLTimeDate(E6; D6; 0)
// → "08 giờ 30 phút, ngày 22 tháng 8 năm 2026"dvdLunarToSolar
Đổi một ngày âm lịch sang ngày dương lịch tương ứng.
Cú pháp:
=dvdLunarToSolar(shortDateLunar)| Tham số | Bắt buộc | Mô tả |
|---|---|---|
shortDateLunar | Có | Ngày âm lịch, nhập dưới dạng giá trị ngày. |
Ví dụ:
=dvdLunarToSolar(DATE(2026;1;1))
// → 17/02/2026 (mùng 1 Tết — mốc tính nghỉ Tết trong tiến độ thi công)Lưu ý
- Kết quả là một giá trị ngày: định dạng ô kiểu Date để hiển thị đúng.
- Ngày âm lịch không tồn tại sẽ trả về
#VALUE!. - Hàm tính theo múi giờ Việt Nam (GMT+7).
dvdSolarToLunar
Đổi một ngày dương lịch sang ngày âm lịch.
Cú pháp:
=dvdSolarToLunar(shortDateSolar)| Tham số | Bắt buộc | Mô tả |
|---|---|---|
shortDateSolar | Có | Ngày dương lịch, nhập dưới dạng giá trị ngày. |
Ví dụ:
=dvdSolarToLunar(DATE(2026;8;22))
// → "10/07/2026 AL"Lưu ý
- Kết quả là chuỗi văn bản, kết thúc bằng
AL; tháng nhuận được ghi thêm trong ngoặc, ví dụ(6 N). - Hàm tính theo múi giờ Việt Nam (GMT+7).
dvdVnd
Đọc số tiền Việt Nam đồng thành chữ để ghi vào dòng "bằng chữ" của phiếu giá, hợp đồng.
Cú pháp:
=dvdVnd(Number; [match_mode])| Tham số | Bắt buộc | Mô tả |
|---|---|---|
Number | Có | Ô chứa số tiền hoặc số tiền nhập trực tiếp. |
match_mode | Không | 0 = chỉ trả phần chữ (mặc định), 1 = thêm Bằng chữ: phía trước. |
Ví dụ:
=dvdVnd(125000000)
// → "Một trăm hai mươi lăm triệu đồng."
=dvdVnd(F42; 1)
// → "Bằng chữ: Một triệu, hai trăm năm mươi nghìn đồng."Lưu ý
- Số tiền được làm tròn đến hàng đơn vị trước khi đọc; số âm được đọc kèm chữ "âm".
- Ô trống hoặc giá trị không phải số cho kết quả là chuỗi rỗng.
dvdUsd
Đọc số tiền Dollar thành chữ tiếng Anh, dùng cho hợp đồng và hồ sơ thanh toán song ngữ.
Cú pháp:
=dvdUsd(Number)| Tham số | Bắt buộc | Mô tả |
|---|---|---|
Number | Có | Ô chứa số tiền hoặc số tiền nhập trực tiếp. |
Ví dụ:
=dvdUsd(5000)
// → "Five thousand dollars only"
=dvdUsd(1250.5)
// → "One thousand two hundred fifty dollars and fifty cents"Lưu ý
- Giá trị 0 trả về
None; số âm được đọc kèm tiền tốMinus.
dvdExplain
Sinh dòng thuyết minh khối lượng cho các ô trong một vùng theo dạng kết quả = biểu thức, với các tham chiếu trong công thức được thay bằng giá trị thực.
Cú pháp:
=dvdExplain(RangeToExplain; [HeaderRange]; [OptionValue]; [DecimalPlaces])| Tham số | Bắt buộc | Mô tả |
|---|---|---|
RangeToExplain | Có | Phạm vi các ô cần diễn giải. |
HeaderRange | Không | Phạm vi tiêu đề; tiêu đề tương ứng được ghi trước mỗi dòng. |
OptionValue | Không | 1 = diễn giải mọi ô (mặc định), 0 = chỉ ô có công thức. |
DecimalPlaces | Không | Số chữ số sau dấu thập phân của kết quả; -1 là giữ nguyên định dạng gốc. |
Ví dụ:
=dvdExplain(F6; ; 0; 2)
// → "2.40=3*0.8" (ô F6 chứa công thức =D6*E6 với D6 = 3, E6 = 0.8)
=dvdExplain(F6:F20; $D$5:$F$5; 0; 2)
// → mỗi ô có công thức là một dòng, kèm tiêu đề cột ở đầu dòngLưu ý
- Công thức
SUM(...)được trải thành chuỗi cộng vàPRODUCT(...)thành chuỗi nhân của từng ô trong vùng. - Kết quả nhiều ô được ngăn cách bằng dấu xuống dòng: bật
Wrap Textcho ô công thức để đọc được đầy đủ. - Tham số đầu tiên phải là tham chiếu ô hoặc vùng thực trên bảng tính; truyền một giá trị trung gian sẽ cho kết quả rỗng.
dvdExplainE
Giống dvdExplain nhưng trình bày theo thứ tự ngược lại: biểu thức = kết quả, hợp với bảng thuyết minh khối lượng của hồ sơ hoàn công.
Cú pháp:
=dvdExplainE(RangeToExplain; [HeaderRange]; [OptionValue]; [DecimalPlaces])| Tham số | Bắt buộc | Mô tả |
|---|---|---|
RangeToExplain | Có | Phạm vi các ô cần diễn giải. |
HeaderRange | Không | Phạm vi tiêu đề; tiêu đề tương ứng được ghi trước mỗi dòng. |
OptionValue | Không | 1 = diễn giải mọi ô (mặc định), 0 = chỉ ô có công thức. |
DecimalPlaces | Không | Số chữ số sau dấu thập phân của kết quả; -1 là giữ nguyên định dạng gốc. |
Ví dụ:
=dvdExplainE(F6; ; 0; 2)
// → "3*0.8=2.40"
=dvdExplainE(F6:F20; ; 0; 3)
// → "5+3.2+7.8=16.000" cho ô có công thức =SUM(...)Lưu ý
- Áp dụng đúng các lưu ý của
dvdExplain: cần tham chiếu thực, kết quả nhiều dòng,SUM/PRODUCTđược trải thành biểu thức.
dvdNoiSuy
Nội suy tuyến tính một chiều giữa hai điểm đã biết — tra định mức, tra hệ số theo cự ly hoặc theo chiều sâu đào.
Cú pháp:
=dvdNoiSuy(x1; x2; y1; y2; xnew)| Tham số | Bắt buộc | Mô tả |
|---|---|---|
x1 | Có | Giá trị x1. |
x2 | Có | Giá trị x2. |
y1 | Có | Giá trị y1 ứng với x1. |
y2 | Có | Giá trị y2 ứng với x2. |
xnew | Có | Giá trị x cần nội suy. |
Ví dụ:
=dvdNoiSuy(5; 10; 120000; 150000; 7)
// → 132000 (đơn giá vận chuyển tại cự ly 7 km)Lưu ý
x1bằngx2sẽ trả về#DIV/0!.
dvdSteelWeight
Tính trọng lượng thép theo đường kính và số lượng thanh.
Cú pháp:
=dvdSteelWeight(diameter; quantity)| Tham số | Bắt buộc | Mô tả |
|---|---|---|
diameter | Có | Đường kính của thanh thép, tính bằng mm. |
quantity | Có | Số lượng thanh thép nếu D lớn, hoặc khối lượng cuộn thép với thép cuộn đường kính nhỏ. |
Ví dụ:
=dvdSteelWeight(16; 20)
// → 369.72 (kg — 20 thanh D16 dài 11,7 m)
=dvdSteelWeight(8; 250)
// → 250 (kg — thép cuộn D8 nhập theo khối lượng)Lưu ý
- Với đường kính từ 8 trở xuống, hàm trả về đúng giá trị
quantityvì thép cuộn được nhập theo khối lượng. - Với đường kính lớn hơn 8, hàm tính theo thanh tiêu chuẩn dài 11,7 m và khối lượng riêng 7.850 kg/m³.