Yêu cầu về tính năng
Hãy xem lại danh sách yêu cầu sau đây trước khi tiến hành khắc phục lỗi.
Tính khả dụng của nền tảng
Tính năng này không sẵn dùng trong Excel for Mac, Excel trên web, Excel for iPad, Excel for iPhone hoặc Excel for Android. Trên các nền tảng không được hỗ trợ, có thể xem sổ làm việc chứa Python nhưng các ô Python hiển thị lỗi khi tính toán lại. Để sử dụng tính năng này trong Excel cho Windows, hãy tham gia Chương trình người dùng nội bộ Microsoft 365 và chọn cấp độ Người dùng nội bộ kênh Beta.
Đường truyền truy cập Internet
Python trong Excel yêu cầu truy cập Internet vì các phép tính chạy trên máy chủ từ xa trong Microsoft Cloud. Các phép tính không được chạy bởi ứng dụng Excel cục bộ của bạn.
Khắc phục lỗi Excel
Python trong phép tính Excel có thể trả về các lỗi Excel tiêu chuẩn cho các ô Python, chẳng hạn như #PYTHON!, #BUSY! và #CONNECT!.
Truy cập thông báo lỗi
Để tìm hiểu thêm về cách lỗi Excel áp dụng cho công thức Python của bạn, hãy mở thông báo lỗi. Để mở thông báo lỗi, hãy chọn biểu tượng lỗi bên cạnh ô rồi chọn Hiển thị thông báo lỗi từ menu. Ảnh chụp màn hình sau đây hiển thị menu lỗi chứa Hiển thị thông báo lỗi.
Tiếp theo, Excel hiển thị Thông báo Lỗi Python kèm theo thông tin bổ sung. Trong trường hợp này, lỗi #PYTHON! lỗi là kết quả của cú pháp Python không hợp lệ trên dòng 1 trong công thức Python.
Lưu ý: Ngăn tác vụ chẩn đoán sẽ tự động mở trong Excel nếu lỗi #PYTHON! lỗi được trả về. Hãy xem #PYTHON! thông tin lỗi trong phần bài viết sau để tìm hiểu thêm về ngăn tác vụ chẩn đoán.
Lỗi mà bạn có thể gặp
#BLOCKED!
Python trong Excel phải được bật trong sổ làm việc để tính toán các công thức Python. Nếu bạn thấy thông báo #BLOCKED! lỗi, hãy đảm bảo rằng bạn có quyền truy nhập vào các dịch vụ được kết nối của Microsoft 365.
#BUSY!
#BẬN! lỗi cho biết các phép tính Python đang chạy trong Microsoft Cloud. Nếu #BẬN! lỗi hiển thị lâu hơn 60 giây, hãy thử đặt lại thời gian chạy Python. Đi tới Công thức trong dải băng, sau đó đến Python và chọn Đặt lại thời gian chạy. Hoặc sử dụng phím tắt Ctrl+Alt+Shift+F9.
#CALC!
Tính toán Python trong Excel có thể xử lý tới 100 MB dữ liệu cùng một lúc. Cố gắng thực hiện phép tính có hơn 100 MB dữ liệu sẽ trả về lỗi #CALC! lỗi. Hãy thử sử dụng tập dữ liệu nhỏ hơn.
#CONNECT!
Hãy thử làm mới kết nối với Microsoft Cloud bằng cách đặt lại thời gian chạy Python. Đi tới Công thức trong dải băng, sau đó đến Python và chọn Đặt lại thời gian chạy. Hoặc sử dụng phím tắt Ctrl+Alt+Shift+F9.
#PYTHON!
#PYTHON! lỗi có thể chỉ ra lỗi cú pháp Python. Ngăn tác vụ chẩn đoán sẽ tự động mở nếu lỗi #PYTHON! lỗi được trả về. Kiểm tra ngăn tác vụ chẩn đoán để xem chi tiết về lỗi.
Xem ngăn tác vụ chẩn đoán
Ngăn tác vụ chẩn đoán hiển thị trong giao diện người dùng Excel, ở phía bên phải của lưới. Sử dụng ngăn tác vụ chẩn đoán để liên tục xem kết quả đầu ra tiêu chuẩn, lỗi tiêu chuẩn và lỗi trình thông dịch bằng các phép tính Python trong Excel của bạn. Để mở ngăn tác vụ chẩn đoán theo cách thủ công, hãy chuyển đến ô Python trong trang tính, mở menu ngữ cảnh (nhấp chuột phải hoặc Ctrl+nhấp vào ô) và chọn Chẩn đoán cho ô này.
Ảnh chụp màn hình sau đây hiển thị ngăn tác vụ chẩn đoán hiển thị một lỗi: lỗi cú pháp cho công thức Python trong ô C1.
#SPILL!
Sự tràn ra! lỗi có thể chỉ ra rằng một ô trong phạm vi đầu ra Python đã chứa dữ liệu. Đây có thể là kết quả của việc trả về một đối tượng Python dưới dạng giá trị Excel. Các giá trị Excel có thể tràn trên nhiều ô. Dưới đây là một số nguyên nhân và phương án chí tiết bạn có thể tham khảo:
Phạm vi tràn không trống
Lỗi này xảy ra khi phạm vi tràn cho công thức mảng tràn không trống.
Khi công thức được chọn, đường viền nét đứt sẽ cho biết phạm vi tràn dự kiến.
Bạn có thể chọn bảng điều khiển Lỗi và chọn tùy chọn Chọn ô cản trở để đi ngay đến (các) ô gây cản trở. Sau đó, bạn có thể xóa lỗi bằng cách xóa hoặc di chuyển mục nhập của ô bị cản trở. Ngay khi vật cản được dọn sạch, công thức mảng sẽ tràn ra như dự định.
Kích thước không xác định
Excel không thể xác định kích thước của mảng bị tràn vì nó không ổn định và thay đổi kích thước giữa các lần tính toán. Ví dụ: công thức sau sẽ kích hoạt lỗi #SPILL! lỗi:
=SEQUENCE(RANDBETWEEN(1,1000))
Việc thay đổi kích thước mảng động có thể kích hoạt các bước tính toán bổ sung để đảm bảo bảng tính được tính toán đầy đủ. Nếu kích thước của mảng tiếp tục thay đổi trong các lần chuyển bổ sung này và không ổn định, Excel sẽ phân giải mảng động là #SPILL!.
Giá trị lỗi này thường liên quan đến việc sử dụng các hàm RAND, RANDARRAY và RANDBETWEEN. Các hàm dễ thay đổi khác như OFFSET, INDIRECT và TODAY không trả về các giá trị khác nhau trên mỗi lần tính toán.
Mở rộng ra ngoài cạnh của bảng tính
Ví dụ: khi được đặt trong ô E2 như trong ví dụ bên dưới, công thức =VLOOKUP(A:A,A:C,2,FALSE) trước đây sẽ chỉ tra cứu ID trong ô A2. Tuy nhiên, trong Excel mảng động, công thức sẽ gây ra lỗi #SPILL! lỗi do Excel sẽ tra cứu toàn bộ cột, trả về 1.048.576 kết quả và đánh vào cuối lưới Excel.
Có 3 cách đơn giản để giải quyết vấn đề này:
# | Tiếp cận | Công thức |
---|---|---|
1 | Chỉ tham khảo các giá trị tra cứu mà bạn quan tâm. Kiểu công thức này sẽ trả về một mảng động, nhưng không hoạt động với bảng Excel. | =VLOOKUP( A2:A7,A:C,2,FALSE) |
2 | Chỉ tham chiếu giá trị trên cùng một hàng, sau đó sao chép công thức xuống. Kiểu công thức truyền thống này hoạt động trong các bảng nhưng sẽ không trả về một mảng động. | =VLOOKUP( A2,A:C,2,FALSE) |
3 | Yêu cầu Excel thực hiện phép giao ngầm bằng toán tử @, sau đó 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 sẽ không trả về một mảng động. | =VLOOKUP( @A:A,A:C,2,FALSE) |
Công thức bảng
Công thức mảng tràn không được hỗ trợ trong bảng Excel. Hãy thử di chuyển công thức của bạn ra khỏi bảng hoặc chuyển đổi bảng thành một phạm vi (bấm Thiết kế bảng > Công cụ > Chuyển đổi thành phạm vi).
Hết bộ nhớ
Công thức mảng tràn mà bạn đang cố gắng nhập đã khiến Excel hết bộ nhớ. Vui lòng thử tham chiếu một mảng hoặc phạm vi nhỏ hơn.
Tràn vào các ô đã hợp nhất
Công thức mảng bị tràn không thể tràn vào các ô đã phối. Vui lòng hủy hợp nhất các ô được đề cập hoặc di chuyển công thức sang một dải ô khác không giao nhau với các ô đã hợp nhất.
Khi công thức được chọn, đường viền nét đứt sẽ cho biết phạm vi tràn dự kiến.
Bạn có thể chọn bảng điều khiển Lỗi và chọn tùy chọn Chọn ô cản trở để đi ngay đến (các) ô gây cản trở. Ngay sau khi các ô đã hợp nhất bị xóa, công thức mảng sẽ tràn ra như dự định.
Không được công nhận/Dự phòng
Excel không nhận ra, hoặc không thể khắc phục được nguyên nhân gây ra lỗi này. Hãy đảm bảo rằng công thức của bạn chứa tất cả các đối số cần thiết cho kịch bản của bạn.
#UNKNOWN!
#UNKNOWN! lỗi trong ô Python có thể cho biết rằng phiên bản Excel của bạn không hỗ trợ Python trong Excel. Để tìm hiểu thêm, hãy xem phần Yêu cầu về tính năng ở phần trước của bài viết này.