Bỏ qua, tới nội dung chính
MORA

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.

Ban biên tập MORA 3 phút đọc
Dòng chữ MAP, BYROW, SCAN tính cả cột một lần cạnh biểu tượng MORA Sheet, hàm fx, bảng và biểu đồ.
Trong bài này
  1. LAMBDA là phép tính, MAP, BYROW, SCAN quyết định lặp thế nào
  2. MAP tăng giá cả danh sách trong một công thức
  3. BYROW cộng theo từng dòng
  4. SCAN làm cột luỹ kế từ đầu năm
  5. Chỗ hay vướng và cách gửi tệp

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

  1. Giả sử đơn giá cũ nằm ở C5:C124. Bấm vào D5, ô đầu của cột Giá mới.
  2. Gõ =MAP(C5:C124;LAMBDA(gia;ROUND(gia*1,08;-3))) rồi nhấn Enter.
  3. 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.

Báo cáo doanh thu kèm biểu đồ trong MORA Sheet
Báo cáo doanh thu theo tháng và theo miền trong MORA Sheet, loại bảng hợp với BYROW cho cột Tổng và SCAN cho cột luỹ kế. Số liệu trong ảnh là ví dụ.

Đổ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