Hàm MAP, BYROW, SCAN tính cả cột không cần kéo công thức
Ba việc quen thuộc giải bằng hàm MAP, BYROW, SCAN trong MORA Sheet: tăng giá cả danh sách, cộng theo từng dòng, luỹ kế doanh thu, chỉ bằng một công thức.

Trong bài này
Bảng giá 120 mặt hàng cần tăng 8 %, bảng doanh thu cần cột tổng cho từng tháng, rồi thêm cột luỹ kế từ đầu năm. Cách quen là gõ công thức ở dòng đầu rồi kéo xuống, và chỉ cần chèn thêm vài dòng là có chỗ quên kéo. MORA Sheet có các hàm MAP, BYROW, SCAN đi kèm LAMBDA như Excel 365. Bạn gõ một công thức ở ô đầu, kết quả tự tràn xuống cả cột.
LAMBDA là phép tính, MAP, BYROW, SCAN quyết định lặp thế nào
Cả ba hàm đều nhận một LAMBDA, tức một phép tính nhỏ có tham số do bạn đặt tên. Ví dụ LAMBDA(gia;gia*1,08) nghĩa là lấy giá trị gia nhân với 1,08. Hàm bọc bên ngoài quyết định LAMBDA được gọi với cái gì. MAP gọi cho từng ô, BYROW gọi cho từng dòng, còn SCAN gọi lần lượt và mang theo kết quả của lần trước.
Trong MORA Sheet, các tham số ngăn nhau bằng dấu chấm phẩy và phần thập phân dùng dấu phẩy, như trong các ví dụ của bài. Chưa quen LAMBDA thì đọc trước bài tự tạo hàm tính phụ cấp bằng LAMBDA.
MAP tăng giá cả danh sách trong một công thức
- Giả sử đơn giá cũ nằm ở C5:C124. Bấm vào D5, ô đầu của cột Giá mới.
- Gõ =MAP(C5:C124;LAMBDA(gia;ROUND(gia*1,08;-3))) rồi nhấn Enter.
- Kết quả 120 giá mới tràn từ D5 xuống D124, mỗi giá tăng 8 % và làm tròn tới hàng nghìn.
Để trống vùng bên dưới ô gõ công thức, vì kết quả cần chỗ để tràn ra. Muốn đổi mức tăng, bạn chỉ sửa ở D5, cả cột đổi theo, không còn cảnh dòng giữa bảng vẫn mang công thức cũ.
BYROW cộng theo từng dòng
Bảng doanh thu trong ảnh dưới có ba cột Miền Bắc, Miền Trung, Miền Nam ở B4:D11, mỗi dòng một tháng. Gõ vào E4 công thức =BYROW(B4:D11;LAMBDA(dong;SUM(dong))), cột Tổng của tám tháng hiện ra ngay. Tham số dong là cả một dòng ba ô, SUM cộng ba ô đó lại.

Đổi SUM thành MAX là ra miền cao nhất của từng tháng, đổi thành AVERAGE là ra bình quân. Muốn tính theo cột thay vì theo dòng, dùng BYCOL cùng cách viết; =BYCOL(B4:D11;LAMBDA(cot;SUM(cot))) cho ra tổng tám tháng của từng miền, tràn sang ngang ba ô.
SCAN làm cột luỹ kế từ đầu năm
Cột luỹ kế cần cộng dồn, mỗi tháng bằng luỹ kế tháng trước cộng doanh thu tháng này. Gõ vào H4 công thức =SCAN(0;E4:E11;LAMBDA(tong;x;tong+x)). Số 0 là giá trị bắt đầu, tong là kết quả đang mang theo, x là doanh thu của tháng đang xét.
Với số liệu trong ảnh, H4 ra 3.830, H5 ra 7.070, và ô cuối H11 ra 35.660, đúng bằng dòng Tổng của cột E. So hai con số này là cách kiểm nhanh xem công thức có lấy đủ tháng không.
REDUCE viết giống hệt SCAN nhưng chỉ trả về con số cuối cùng, hợp khi bạn cần một ô tổng có điều kiện thay vì cả cột.
Chỗ hay vướng và cách gửi tệp
Thêm tháng mới hay mặt hàng mới vào cuối bảng thì nới vùng trong công thức, ví dụ E4:E11 thành E4:E12. Gõ tên hàm tới đâu, MORA Sheet gợi ý tên và cú pháp tới đó như trong bài gợi ý hàm khi gõ công thức, nên khó gõ nhầm thứ tự tham số.
Lưu tệp dạng .xlsx như bình thường, Excel 365 mở ra vẫn thấy công thức MAP, BYROW, SCAN và tính lại được. Tệp Excel có các hàm này gửi tới thì MORA Sheet cũng tính lại, không chỉ giữ kết quả cũ. Người nhận dùng Excel đời cũ chưa có các hàm này thì gửi kèm bản PDF, hoặc chép rồi dán giá trị trước khi gửi.
Làm việc trọn vẹn trong một tài khoản MORA
MORA Office trên máy tính cùng MORA Mail, Cloud, Meet và MORA AI cho cá nhân và tổ chức.
Bài viết liên quan
Tất cả bài viết
Tự tạo hàm tính phụ cấp bằng hàm LAMBDA trong MORA Sheet
Dùng hàm LAMBDA trong MORA Sheet để đặt tên cho công thức tính phụ cấp, gọi như hàm có sẵn ở mọi dòng và lưu .xlsx mà Excel 365 vẫn tính được.
Đọc bài viết
Gợi ý hàm khi gõ công thức, gõ =vl là thấy VLOOKUP
MORA Sheet gợi ý hàm khi gõ công thức như Excel. Gõ =vl là hiện danh sách hàm khớp kèm cú pháp; chọn bằng phím mũi tên, nhận bằng Enter hoặc Tab, Esc để đóng.
Đọc bài viết
Dùng Tiêu đề 1–4 để có mục lục tự động, cập nhật một lần bấm
Gán Tiêu đề 1–4 cho các đề mục rồi chèn mục lục tự động ở thẻ Tham chiếu của MORA Doc. Sửa báo cáo xong, cập nhật số trang bằng một lần bấm.
Đọc bài viết