Cách dùng Chuyển Excel Formula sang PHP
- Dán công thức Excel hoặc Google Sheets, hoặc chọn một công thức trong Ví dụ.
- Chọn ngôn ngữ đích. Trang mặc định là PHP, 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 dễ hiểu, ví dụ
B2→price. - Chọn xuất một hàm đầy đủ hoặc chỉ biểu thức, rồi sao chép hoặc tải mã về. Các hàm helper sẽ tự động được thêm vào khi công thức cần.
Chuyển công thức bảng tính sang PHP
Báo giá, hóa đơn, phí vận chuyển và quy tắc hoa hồng thường được định nghĩa trong Excel, sau đó được triển khai trong ứng dụng PHP như Laravel, Symfony, WordPress hay WooCommerce. Công cụ này đọc công thức theo thứ tự ưu tiên toán tử của Excel và viết mã PHP 8 mà bạn có thể đưa thẳng vào class service hoặc file helper.
=IFERROR(VLOOKUP(A2, Products!A2:C500, 3, FALSE), "Not found")
function calculate($a2, $products_a2_c500)
{
return if_error(fn() => vlookup($a2, $products_a2_c500, 3, false), 'Not found');
}
Ánh xạ hàm Excel sang PHP
| Excel | PHP |
|---|---|
IF(c, a, b) | c ? a : b |
IFS / SWITCH | parenthesized ternaries |
AND, OR, NOT | &&, ||, ! |
= and <> | == and != |
a & b | $a . $b |
a ^ b | $a ** $b |
SUM(A2:A10) | array_sum($a2_a10) |
ROUND(x, 2) | round($x, 2) |
MOD(a, b) | excel_mod() helper |
SUMIFS / COUNTIF… | sum_ifs(), count_if() helpers |
VLOOKUP / XLOOKUP | vlookup(), xlookup() helpers |
IFERROR(x, y) | if_error(fn() => x, y) |
LEFT / MID / LEN | mb_substr(), mb_strlen() |
TODAY() / NOW() | new DateTime() |
Chi tiết riêng cho PHP
- Toán tử ba ngôi lồng nhau. Từ PHP 8, toán tử ba ngôi lồng nhau không có dấu ngoặc sẽ gây lỗi nghiêm trọng. Mỗi
IFlồng nhau được tự động bọc trong dấu ngoặc đơn. - Thứ tự ưu tiên khi nối chuỗi. Trong PHP 8,
+và-có độ ưu tiên cao hơn., nên"Total: " . $a + $bsẽ cộng trước. Dù vậy, công cụ vẫn giữ đúng ý nghĩa như trong Excel. - Văn bản đa byte.
LEFT,MID,LEN,UPPERvàLOWERdùng các hàmmb_*, nên ký tự có dấu và emoji được tính là một ký tự, giống như trong Excel. - FIND và SEARCH.
strpos()trả vềfalsehoặc vị trí bắt đầu từ 0; helperfind_pos()trả về vị trí bắt đầu từ 1 như Excel (0 khi không tìm thấy). - MOD. Toán tử
%vàfmod()của PHP giữ dấu của số bị chia;excel_mod()cho kết quả giống Excel với số âm. - Lỗi.
IFERRORbắtDivisionByZeroErrorvà các lỗi tra cứu thông quaif_error(fn() => …), dùng arrow function (PHP 7.4+). - Ngày tháng.
TODAY(),DATE()vàYEAR()dùng đối tượngDateTime.
Cách dùng kết quả
Helper là các hàm thông thường, đặt phía trên hàm chính của bạn. Trong framework, bạn có thể chuyển chúng vào file helper hoặc biến thành phương thức static của class. Vùng dữ liệu được biểu diễn dưới dạng mảng PHP: một cột là danh sách, còn vùng nhiều cột là danh sách các hàng.
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. Để đưa luôn dữ liệu của bảng tính vào, hãy chuyển đổi bằng Excel sang mảng PHP.
Cũng được tìm dưới tên: chuyển excel sang php, excel formula sang php code, chuyển công thức excel sang php, vlookup trong php, sumif trong php, excel formula laravel, chuyển đổi công thức excel sang php, spreadsheet formula sang php.
Các công cụ dùng kèm tốt với Chuyển Excel Formula sang PHP
- 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.
- 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.
- 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.
- CSV & Excel sang SQL — Dán dữ liệu CSV hoặc các ô Excel, hoặc mở tệp .xlsx, rồi nhận ngay các câu lệnh CREATE TABLE và INSERT đã sẵn sàng chạy, với giá trị được escape đúng cho cơ sở dữ liệu của bạn.
Câu hỏi thường gặp
Kết quả cần chạy trên phiên bản PHP nào?
** cần PHP 5.6.Tại sao các hàm chuỗi là mb_substr và mb_strlen?
Làm thế nào để truyền một vùng dữ liệu vào hàm?
A2:A10 sẽ thành một mảng phẳng các giá trị; A2:C500 sẽ thành mảng các hàng, đúng định dạng mà vlookup() yêu cầu.