Hướng dẫn mảng trong google sheet

Một mảng là một bảng giá trị (bao gồm các hàng và cột). Nếu muốn nhóm các giá trị của các ô lại với nhau theo một thứ tự cụ thể, bạn có thể sử dụng các mảng trong bảng tính của mình.

Một số hàm trả về mảng. Ví dụ: IMPORTRANGE trả về một mảng các giá trị bằng cách nhập một dải ô chỉ định sẵn từ một bảng tính khác. Khi bạn viết công thức bằng cách sử dụng IMPORTRANGE, bạn sẽ thấy kết quả của mảng xuất hiện trên các ô ở bên phải và bên dưới.

Bất kỳ hàm nào lấy một dải ô (ví dụ A1:B6) làm giá trị tham số nhập vào cũng sẽ chấp nhận một mảng ở vị trí đó. Ví dụ: SPARKLINE lấy một dải ô làm tham số đầu tiên để chỉ định các giá trị cho biểu đồ. Bạn có thể sử dụng kết quả mảng của IMPORTRANGE làm giá trị nhập vào của SPARKLINE.

=SPARKLINE(IMPORTRANGE(...))

Tạo mảng

Bạn cũng có thể tạo các mảng của riêng mình theo một công thức trong bảng tính bằng cách sử dụng dấu ngoặc { }. Dấu ngoặc cho phép bạn nhóm các giá trị lại với nhau, trong khi bạn sử dụng dấu câu sau để xác định thứ tự hiển thị các giá trị:

  • Dấu phẩy: Tách các cột để giúp bạn viết một hàng dữ liệu trong một mảng. Ví dụ: ={1; 2} sẽ đặt số 1 trong ô đầu tiên và số 2 vào ô ở bên phải trong một cột mới.
  • Dấu chấm phẩy: Phân tách các hàng để giúp bạn viết một cột dữ liệu trong một mảng. Ví dụ: ={1; 2} sẽ đặt số 1 vào ô đầu tiên và số 2 vào ô bên dưới trong một hàng mới.

Lưu ý: Đối với các quốc gia sử dụng dấu phẩy làm dấu phân tách thập phân (ví dụ: 1,00 EUR), dấu phẩy sẽ được thay thế bằng dấu gạch chéo ngược (\) khi tạo mảng.

Bạn có thể kết hợp nhiều dải ô thành một dải ô liên tục bằng cách sử dụng cùng một dấu chấm câu. Ví dụ: để kết hợp các giá trị từ A1-A10 với các giá trị từ D1-D10, bạn có thể sử dụng công thức sau để tạo một dải ô trong một cột liên tục: ={A1:A10; D1:D10}

Thêm mảng vào các công thức hiện có

Bạn cũng có thể sử dụng mảng với các công thức hiện có khác bằng cách sử dụng dấu ngoặc để sắp xếp trả về các hàng hoặc các cột từ công thức của bạn.

Ví dụ: ={SUM(A1:A10); SUM(B1:B10)} sẽ cho ra hai giá trị. Ô đầu tiên sẽ chứa tổng giá trị từ A1 đến A10, ô ở bên phải sẽ chứa tổng giá trị từ B1 đến B10.

Thông tin này có hữu ích không?

Chúng tôi có thể cải thiện trang này bằng cách nào?

Cho phép hiển thị các giá trị được trả về từ công thức mảng thành nhiều hàng và/hoặc cột và cho phép sử dụng các hàm không dùng cho mảng đối với mảng.

Sử dụng mẫu

Hàm ARRAYFORMULA(SUM(IF(A1:A10>5, A1:A10, 0)))

Hàm ARRAYFORMULA(A1:C1+A2:C2)

Cú pháp

Hàm ARRAYFORMULA(công_thức_mảng)

  • công_thức_mảng - Dải ô, biểu thức toán học sử dụng một dải ô hoặc nhiều dải ô có cùng kích thước hoặc một hàm trả về kết quả lớn hơn một ô.

Lưu ý

  • Nhiều công thức mảng sẽ được tự động mở rộng sang các ô lân cận, tránh lạm dụng hàm ARRAYFORMULA.

  • Nhấn Ctrl+Shift+Enter trong khi chỉnh sửa công thức sẽ tự động thêm hàm ARRAYFORMULA( vào phần đầu của công thức.

  • Xin lưu ý rằng không thể xuất công thức mảng.

Xem thêm

ARRAY_CONSTRAIN: Ràng buộc giá trị mảng vào một kích thước chỉ định sẵn.

Thông tin này có hữu ích không?

Chúng tôi có thể cải thiện trang này bằng cách nào?

Hàm ARRAYFORMULA trong Google Sheet là một cách hiệu quả để áp dụng các công thức và hàm cho toàn bộ cột, hàng và mảng bằng cách sửa đổi một ô. Bài viết này sẽ giải thích cách sử dụng hàm Arrayformula để sao chép nội dung của toàn bộ hàng, cột và mảng; để áp dụng công thức cho toàn bộ mảng và áp dụng các hàm cho toàn bộ mảng.

Cú pháp

ARRAYFORMULA(công_thức_mảng)

  • công_thức_mảng – Dải ô, biểu thức toán học sử dụng một dải ô hoặc nhiều dải ô có cùng kích thước hoặc một hàm trả về kết quả lớn hơn một ô.

Sử dụng ARRAYFORMULA để sao chép toàn bộ hàng, cột và mảng

Nếu bạn biết vị trí của mảng ban đầu, bạn có thể chỉ định phạm vi của nó bên trong ARRAYFORMULA và nó sẽ được sao chép tương ứng.

Giả sử mình muốn sao chép cột đầu tiên. Đây là cách có thể làm như vậy bằng ARRAYFORMULA:

=arrayformula(A3:A)

Phạm vi A3:A có nghĩa là mảng sẽ bắt đầu tại ô A3 và A có nghĩa là tất cả các ô kế tiếp trong cột A có một giá trị đều được bao phủ.

Và kết quả như sau:

Hướng dẫn mảng trong google sheet

Thay vào đó, nếu chúng ta muốn sao chép hàng đầu tiên, chúng ta có thể làm như sau:

=arrayformula(C1:1)

Phạm vi C1:1có nghĩa là mảng sẽ bắt đầu tại ô C1 và 1 có nghĩa là tất cả các ô tiếp theo trong hàng 2 có một giá trị đều được bao phủ. 

Và kết quả như sau:

Hướng dẫn mảng trong google sheet

Bạn có thể chỉ định toàn bộ mảng trong một trang tính khác:

=arrayformula('Trang tính 13'!A3:C9)

Và kết quả như sau:

Hướng dẫn mảng trong google sheet

Sử dụng ARRAYFORMULA để áp dụng các hàm cho toàn bộ mảng

Khi bạn sử dụng một công thức làm đối số của ARRAYFORMULA, công thức đó có thể được áp dụng cho một mảng được chỉ định. Điều này đặc biệt hữu ích khi bạn đang sử dụng công thức chỉ thừa nhận một ô duy nhất làm đối số. Tuy nhiên, đối số của công thức phải là mảng.

Ví dụ, sử dụng cùng một mảng như trên, chúng ta muốn chuyển các số thành số nguyên. Để làm như vậy, mình thực hiện công thức sau:

=arrayformula(int(A3:C9))

Và kết quả như sau:

Hướng dẫn mảng trong google sheet

Lưu ý: Mình đã có một hướng dẫn sử dụng ARRAYFORMULA để dễ dàng áp dụng một hàm cho toàn bộ mảng! Bạn có thể đọc thêm ở đây.

Sử dụng ARRAYFORMULA để áp dụng công thức cho toàn bộ mảng

Bạn có thể vượt xa việc áp dụng một hàm để áp dụng toàn bộ công thức cho toàn bộ mảng bằng cách sử dụng ARRAYFORMULA. Đối với ví dụ của mình, mình muốn áp dụng công thức sau cho tất cả các ô của toàn bộ mảng:

=(int(A3)-50)

Chúng ta có thể dễ dàng làm như vậy bằng cách sử dụng hàm ARRAYFORMULA, sau đó thay đổi đối số ô để bao gồm toàn bộ mảng:

=arrayformula((int(A3:C9)-50))

Kết quả sẽ như thế này:

Hướng dẫn mảng trong google sheet

Lưu ý

  • Nhiều công thức mảng sẽ được tự động mở rộng sang các ô lân cận, tránh lạm dụng hàm ARRAYFORMULA.
  • Nhấn Ctrl+Shift+Enter trong khi chỉnh sửa công thức sẽ tự động thêm hàm ARRAYFORMULA( vào phần đầu của công thức.
  • Xin lưu ý rằng không thể xuất công thức mảng.

Xem thêm về về hàm Arrayformula.

Công Việt

Mình xây dựng blog này với mục đích chia sẻ những kinh nghiệm, thủ thuật của mình liên quan đến các lĩnh vực như CNTT, Marketing Online, MMO, Đồ Họa, SEO, ... Rất mong nhận được sự ủng hộ của các bạn.