Cách dùng Chuyển công thức Excel sang JavaScript
- Dán một công thức Excel hoặc Google Sheets, hoặc chọn một công thức có sẵn trong Ví dụ.
- Chọn ngôn ngữ đích. Trang mặc định là JavaScript, và bạn có thể đổi bất cứ lúc nào.
- Đổi tên các tham chiếu ô được phát hiện thành tên biến có ý nghĩa, ví dụ
B2→price. - Chọn hàm đầy đủ hoặc chỉ biểu thức, rồi sao chép hoặc tải mã về. Hàm phụ sẽ tự động được thêm khi công thức cần đến..
Vì sao cần chuyển công thức Excel sang JavaScript?
Logic nghiệp vụ thường bắt đầu từ bảng tính: một mô hình định giá, một bảng hoa hồng, một điều kiện đủ điều kiện. Khi logic đó chuyển sang ứng dụng web, API Node.js hay Google Apps Script, mọi công thức đều phải viết lại bằng tay, và những khác biệt nhỏ giữa Excel và JavaScript gây ra lỗi chỉ lộ ra khi có dữ liệu thật. Bộ chuyển này phân tích công thức đúng như cách Excel làm và sinh ra JavaScript tương đương.
=IF(AND(B2>=18, C2="yes"), "Eligible", "Not eligible")
function calculate(B2, C2) {
return B2 >= 18 && C2 === 'yes' ? 'Eligible' : 'Not eligible';
}
Cách các hàm Excel tương ứng với JavaScript
| Excel | JavaScript |
|---|---|
IF(c, a, b) | c ? a : b |
IFS / SWITCH | nested ternaries |
AND, OR, NOT | &&, ||, ! |
= and <> | === and !== |
a & b | String(a) + b |
a ^ b | a ** b |
SUM(A2:A10) | A2_A10.reduce(…) |
ROUND(x, 2) | round() helper (half away from zero) |
MOD(a, b) | mod() helper |
SUMIFS / COUNTIF… | sumIfs(), countIf() helpers |
VLOOKUP / XLOOKUP | vlookup(), xlookup() helpers |
IFERROR(x, y) | ifError(() => x, y) |
LEFT / MID / LEN | .slice(), .substr(), .length |
TODAY() / NOW() | new Date() |
Những khác biệt gây lỗi
- Thứ tự ưu tiên toán tử. Trong Excel
=-2^2cho kết quả 4 vì phép đổi dấu được tính trước^. JavaScript thậm chí không cho phép viết-2 ** 2. Bộ chuyển luôn thêm dấu ngoặc mà Excel ngầm hiểu:(-2) ** 2. - Làm tròn. Excel làm tròn số 0,5 ra xa số 0;
Math.round(-2.5)trả về −2 và(1.005).toFixed(2)cho "1.00". Hàmround()được sinh ra khớp với Excel. - Phần dư.
MOD(-7, 3)cho kết quả 2 trong Excel, nhưng-7 % 3là −1 trong JavaScript, nên sẽ dùng hàmmod(). - So sánh văn bản. Phép
=của Excel không phân biệt chữ hoa chữ thường với văn bản;===thì có. Các hàm tra cứu và điều kiện so sánh không phân biệt hoa thường như Excel. - Nối chuỗi.
&luôn tạo ra văn bản, còn+cộng số. Bộ chuyển bọc toán hạng đầu trongString()đểA1 & B1không bao giờ bị biến thành phép cộng. - Lỗi. Chia cho 0 trả về
Infinitythay vì ném lỗi, nênifError()kiểm tra cả kết quả không hữu hạn lẫn ngoại lệ.
Vùng dữ liệu, tra cứu và điều kiện
Vùng một cột hoặc một hàng như A2:A100 trở thành tham số kiểu mảng; vùng nhiều cột như A2:C500 trở thành mảng các hàng, đúng dạng mà vlookup() cần. Chuỗi điều kiện hoạt động giống Excel: ">=1000", "<>closed" và ký tự đại diện như "*@example.com".
Các hàm được hỗ trợ: IF, IFS, SWITCH, AND, OR, NOT, XOR, IFERROR, IFNA, ISBLANK, ISNUMBER, ISTEXT, SUM, AVERAGE, MIN, MAX, COUNT, COUNTA, COUNTBLANK, PRODUCT, MEDIAN, ROUND, ROUNDUP, ROUNDDOWN, INT, TRUNC, ABS, SIGN, MOD, POWER, SQRT, EXP, LN, LOG, LOG10, PI, CEILING, FLOOR, RAND, RANDBETWEEN, SUMIF, SUMIFS, COUNTIF, COUNTIFS, AVERAGEIF, AVERAGEIFS, SUMPRODUCT, VLOOKUP, XLOOKUP, MATCH, INDEX, CONCAT, CONCATENATE, TEXTJOIN, LEFT, RIGHT, MID, LEN, UPPER, LOWER, PROPER, TRIM, SUBSTITUTE, REPLACE, FIND, SEARCH, REPT, VALUE, EXACT, TEXT (định dạng số), TODAY, NOW, DATE, YEAR, MONTH, DAY. Các hàm khác được giữ nguyên dạng lời gọi và được liệt kê để bạn tự triển khai. Cần cả dữ liệu? Chuyển bảng tính thành mảng bằng Excel sang mảng JavaScript.
Cũng được tìm dưới tên: chuyển excel sang javascript, công thức excel sang js, công thức google sheets sang javascript, chuyển công thức excel sang code, công thức excel sang node, chuyển đổi công thức bảng tính, bộ chuyển công thức excel.
Các công cụ dùng kèm tốt với Chuyển công thức Excel sang JavaScript
- Chuyển công thức Excel sang Python — Dán công thức Excel hoặc Google Sheets và nhận ngay một hàm Python với tên biến rõ ràng, đúng các thư viện cần thiết cùng hàm hỗ trợ cho SUMIFS, VLOOKUP và cách làm tròn kiểu Excel.
- Chuyển Excel Formula sang PHP — Dán một công thức bảng tính và nhận về hàm PHP 8: toán tử ba ngôi có dấu ngoặc, các hàm chuỗi mb_*, và helper cho tra cứu, tổng có điều kiện và MOD kiểu Excel.
- Công thức Excel sang SQL — Dán công thức Excel và nhận ngay biểu thức SQL tương đương hoặc truy vấn SELECT: IF và IFS thành CASE WHEN, SUMIFS và COUNTIFS thành tổng hợp có điều kiện, cùng các hàm chuỗi và ngày phù hợp với cơ sở dữ liệu của bạn.
- Định dạng JavaScript — Giải nén và định dạng lại JavaScript, JSON hoặc JSX với kiểu thụt lề và dấu ngoặc bạn chọn, hoặc loại bỏ khoảng trắng và chú thích bằng bộ thu gọn đã được kiểm chứng.
Câu hỏi thường gặp
JavaScript được sinh ra có cho kết quả giống Excel không?
A2 + 30 cần được điều chỉnh.Có dùng được cho công thức Google Sheets hoặc Apps Script không?
Điều gì xảy ra với những hàm không được nhận diện?
networkdays(…)) và được liệt kê phía trên kết quả để bạn tự triển khai hoặc thay thế.Công thức của tôi có được gửi lên máy chủ không?
Các tham chiếu ô được đặt tên như thế nào?
B2 giữ nguyên là B2, còn A2:A10 thành A2_A10. Nhập tên ngay cạnh bất kỳ tham chiếu nào để đổi tên nó ở mọi nơi trong kết quả.