Lỗi #SPILL! lỗi - Mở rộng ra ngoài cạnh của trang tính

Áp dụng cho
Excel cho Microsoft 365 Excel cho Microsoft 365 dành cho máy Mac Excel for iPad Excel Web App Excel cho iPhone Excel cho máy tính bảng Android Excel cho điện thoại Android

Công thức mảng bị tràn mà bạn đang cố gắng nhập sẽ vượt quá phạm vi của trang tính. Hãy thử lại với dải ô hoặc mảng nhỏ hơn.

Trong ví dụ sau, di chuyển công thức đến ô F1 sẽ giải quyết được lỗi và công thức sẽ tràn chính xác.

Ảnh chụp màn hình hiển thị #SPILL! trong đó =SORT(D:D) trong ô F2 mở rộng ra ngoài đường biên của sổ làm việc. Di chuyển nó đến ô F1 và nó hoạt động bình thường.

Nguyên nhân phổ biến: Tham chiếu toàn bộ cột

Một hiểu lầm thường gặp xảy ra khi tạo công thức VLOOKUP bằng cách chỉ định quá mức đối số lookup_value . Trước khi có Excel có mảng động , Excel chỉ xem xét giá trị trên cùng một hàng với công thức và bỏ qua bất kỳ hàng nào khác, vì VLOOKUP kỳ vọng chỉ có một giá trị duy nhất. Với sự xuất hiện của mảng động, Excel sẽ xem xét tất cả các giá trị được cung cấp cho lookup_value. Thay đổi này có nghĩa là nếu bạn chỉ định toàn bộ cột làm đối số lookup_value, Excel sẽ cố tra cứu tất cả 1.048.576 giá trị trong cột đó. Sau khi nó kết thúc, nó cố gắng làm tràn chúng vào lưới và rất có thể nó đến cuối lưới, dẫn đến một #SPILL! .  

Ví dụ, khi được đặt trong ô E2 như trong ví dụ sau, trước đây công thức =VLOOKUP(A:A,A:C,2,FALSE) chỉ tra cứu ID trong ô A2. Tuy nhiên, trong Excel mảng động, công thức này gây ra lỗi #SPILL! vì Excel tra cứu toàn bộ cột, trả về 1.048.576 kết quả và đến cuối lưới Excel.

Ảnh chụp màn hình hiển thị #SPILL! xảy ra với =VLOOKUP(A:A,A:D,2,FALSE) trong ô E2, vì kết quả sẽ tràn ra ngoài cạnh trang tính. Di chuyển công thức vào ô E1 và nó hoạt động chính xác.

Sử dụng một trong các phương pháp sau đây để giải quyết sự cố này:

# Phương pháp tiếp cận Công thức
1 Chỉ tham chiếu các giá trị tra cứu mà bạn quan tâm. Kiểu công thức này trả về mảng động nhưng không hoạt động với các bảng Excel.
Ảnh chụp màn hình hiển thị việc sử dụng =VLOOKUP(A2:A7,A:C,2,FALSE) để trả về mảng động sẽ không dẫn đến #SPILL! lỗi.
=VLOOKUP(A2:A7,A:C,2,FALSE)
2 Chỉ tham chiếu giá trị trên cùng một hàng, rồi sao công thức xuống. Kiểu công thức truyền thống này hoạt động trong bảng nhưng không trả về mảng động.
Ảnh chụp màn hình hiển thị cách sử dụng hàm VLOOKUP truyền thống với một tham chiếu lookup_value duy nhất: =VLOOKUP(A2,A:C,32,FALSE). Công thức này không trả về mảng động nhưng bạn có thể dùng nó với bảng Excel.
=VLOOKUP(A2,A:C,2,FALSE)
3 Yêu cầu Excel thực hiện giao cắt ngầm bằng cách sử dụng toán tử @, rồi sao chép công thức xuống. Kiểu công thức này hoạt động trong bảng nhưng không trả về mảng động.
Ảnh chụp màn hình hiển thị việc sử dụng toán tử @ và sao chép xuống: =VLOOKUP(@A:A,A:C,2,FALSE). Kiểu tham chiếu này hoạt động trong bảng nhưng không trả về mảng động.
=VLOOKUP(@A:A:A:C,2,FALSE)

Bạn cần thêm trợ giúp?

Bạn luôn có thể hỏi chuyên gia trong Cộng đồng kỹ thuật Excel hoặc nhận hỗ trợ trong Cộng đồng.

Xem thêm

Hàm FILTER

Hàm RANDARRAY

Hàm SEQUENCE

Hàm SORT

Hàm SORTBY

Hàm UNIQUE

Cách sửa #SPILL! lỗi

Công thức mảng động và hành vi mảng bị tràn

Toán tử giao cắt ngầm: @