Bộ chuyển công thức Excel sang JavaScript

Dán một công thức bảng tính và nhận lại JavaScript dễ đọc: một hàm có tham số được đặt tên, thứ tự ưu tiên toán tử đúng, cùng các hàm phụ nhỏ cho những thứ JavaScript không có sẵn, như SUMIFS và VLOOKUP.

Cập nhật

Dán có hoặc không có dấu = ở đầu. Dấu phẩy và dấu chấm phẩy đều dùng được làm dấu phân cách đối số.

Kết quả

Tham chiếu ô

Tham chiếu sẽ hiện ở đây sau khi bạn nhập công thức.

Đặt tên có ý nghĩa cho tham chiếu (B2 → price). Vùng dữ liệu trở thành danh sách; vùng nhiều cột trở thành danh sách các hàng.

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Chuyển đổi công thức Excel sang code Python trực tuyếnChuyển công thức Excel sang Python →

Cách dùng Chuyển công thức Excel sang JavaScript

  1. 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ụ.
  2. 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.
  3. Đổ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.
  4. 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

ExcelJavaScript
IF(c, a, b)c ? a : b
IFS / SWITCHnested ternaries
AND, OR, NOT&&, ||, !
= and <>=== and !==
a & bString(a) + b
a ^ ba ** 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 / XLOOKUPvlookup(), 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^2 cho 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àm round() được sinh ra khớp với Excel.
  • Phần dư. MOD(-7, 3) cho kết quả 2 trong Excel, nhưng -7 % 3 là −1 trong JavaScript, nên sẽ dùng hàm mod().
  • 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 trong String() để A1 & B1 không bao giờ bị biến thành phép cộng.
  • Lỗi. Chia cho 0 trả về Infinity thay vì ném lỗi, nên ifError() 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?
Với các hàm được hỗ trợ thì có, kể cả cách làm tròn kiểu Excel, dấu của MOD và tra cứu không phân biệt hoa thường. Ngày tháng là đối tượng Date của JavaScript chứ không phải số serial của Excel, nên các phép tính ngày như 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?
Có. Google Sheets dùng cùng cú pháp công thức cho các hàm được hỗ trợ, và mã đầu ra chạy được ngay trong Google Apps Script, trình duyệt và Node.js.
Điều gì xảy ra với những hàm không được nhận diện?
Chúng được giữ nguyên dạng lời gọi hàm cùng tên (ví dụ 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?
Không. Việc phân tích và sinh mã hoàn toàn diễn ra trên trình duyệt của bạn.
Các tham chiếu ô được đặt tên như thế nào?
Mặc định 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ả.
Tôi có thể cài Chuyển công thức Excel sang JavaScript như một ứng dụng web và dùng khi không có mạng không?
Có. Chuyển công thức Excel sang JavaScript là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan