Applies ToExcel for Microsoft 365

從版本 2407 (組建 17830.20128) 開始,以及從版本 2408 (組建 17928.20216) 開始,Excel 中的 Python 用戶現在可以使用 Excel 中的 Python。從版本 2405 (組建 17628.20164) 開始,適用於在 Windows 上執行目前通道的家庭和個人使用者。 Excel 中的 Python 適用於執行目前通道 (Preview) 透過 Microsoft 365 測試人員計劃之教育版使用者。 目前不適用於 Semi-Annual 企業通道。

它將會先推出至 Windows 版 Excel,之後再推出至其他平臺。 如需更多可用性資訊,請參閱 Excel 中的 Python 可用性​​​​​​​

如果您在 Excel 中遇到任何關於 Python 的問題,請選 取 Excel 中的 [說明 > 意見反應來回報問題。

第一次使用 Excel 中的 Python 嗎? 從 Excel 中的 Python 簡介開始。  

開始使用 Python 

若要在 Excel 中開始使用 Python,請選取一個儲存格,然後在 [公式] 索引標籤上選取 [插入 Python]。 這會告訴 Excel 您要在選取的儲存格中撰寫 Python 公式。 

移至 [公式],然後選取 [插入 Python]。

或者,在儲存格中使用 =PY 函數來啟用 Python。 在儲存格中輸入 =PY 之後,使用向下鍵和 Tab 鍵從函數自動完成功能表中選擇 PY,或新增左括弧至函數: =PY (。 現在,您可以直接在儲存格中輸入 Python 程式代碼。 下列螢幕快照顯示已選取 PY 函數的 [自動完成] 選單。

在儲存格中輸入 =PY 以啟用 Python。

在儲存格中啟用 Python 之後,該儲存格就會顯示 PY 圖示。 選取 Python 儲存格時,資料編輯列會顯示相同的 PY 圖示。 如需範例,請參閱下列螢幕快照。 

在儲存格中啟用 Excel 中 Python 的 Excel 活頁簿,在儲存格中顯示綠色 PY 圖示。

將 Python 與 Excel 單元格和範圍合併

若要在 Python 單元格中參照 Excel 物件,請確定 Python 單元格處於 [編輯] 模式,然後選取要包含在 Python 公式中的儲存格或範圍。 這會自動將 Python 儲存格填入您選取的儲存格或範圍位址。 

提示: 使用鍵盤快捷方式 F2 在 Python 單元格中的 Enter 模式和編輯模式之間切換。 切換到編輯模式可讓您編輯 Python 公式,而切換到 Enter 模式可讓您使用鍵盤選取其他儲存格或範圍。 若要深入了解鍵盤快捷方式,請參閱 Excel 中的 Python 鍵盤快捷方式

Excel 中的 Python 使用自定義 Python 函數 xl() 介面在 Excel 和 Python 之間。 xl() 函數會接受 Excel 物件,例如範圍、表格、查詢和名稱。

您也可以使用 xl() 函數,直接在 Python 單元格中輸入參照。 例如,若要參照單元格 A1 ,請使用 xl("A1") 並針對範圍 B1:C4 使用 xl("B1:C4")。 若是含有「 MyTable」標題的表格,請使用 xl("MyTable[#All]", headers=True)[#All] 指定元可確保在 Python 公式中分析整個數據表, headers=True 確保正確處理表格標題。 若要深入瞭解 [ #All] 等指定元,請參閱 在Excel表格中使用結構化參照

下圖顯示 Excel 計算中的 Python 將儲存格 A1B1 的值相加,而 Python 結果則傳回至單元格 C1。 

使用自定義 Python 函數 xl () 介面在 Excel 和 Python 之間。

公式列 

使用數據編輯列做為類似程式碼的編輯行為,例如使用 Enter 鍵建立新的行。 使用向下箭號圖示展開數據編輯列,以一次檢視多行程序代碼。 您也可以使用鍵盤快捷方式 Ctrl+Shift+U 來展開數據編輯列。 下列螢幕快照顯示展開數據編輯列前後的數據編輯列,以檢視多行 Python 程式代碼。

展開數據編輯列之前: ... 

展開資料編輯列之後:   

展開數據編輯列以查看更多程式碼行。

提示: 對於更大的程式代碼編輯空間和文字色彩化和 IntelliSense 等功能,請使用 Excel 程式代碼編輯器中的 Python

輸出類型 

使用數據編輯列中的 [Python 輸出] 功能表來控制 Python 計算的傳回方式。 將計算傳回為 Python 物件,或將計算轉換成 Excel 值,然後直接輸出到儲存格。 下列螢幕快照顯示以 Excel 值傳回的 Python 公式。 

提示: 您也可以使用滑鼠右鍵選單來變更 Python 輸出類型。 開啟右鍵功能表,然後移至 [Python 輸出],然後選取所需的輸出類型。

使用 [Python 輸出] 選單在輸出類型之間切換。

下列螢幕快照顯示與前一個螢幕快照相同的 Python 公式,現在傳回為 Python 物件。 當公式以 Python 物件的形式傳回時,單元格會顯示卡片圖示。

附註: 傳回至 Excel 值的公式結果會轉換成最接近的 Excel 等值。 如果您打算在未來的 Python 計算中重複使用結果,建議您將結果傳回為 Python 物件。 以 Excel 值傳回結果可讓您在值上執行 Excel 分析,例如 Excel 圖表、公式和設定格式化的條件。

當數據以 Python 物件的形式傳回時,單元格會顯示 Python 卡片圖示。

Python 對象在儲存格中包含其他資訊。 若要檢視其他資訊,請選取卡片圖示來開啟卡片。 卡片上顯示的資訊是對象的預覽,在處理大型物件時很有用。

Excel 中的 Python 可以將許多類型的數據傳回為 Python 物件。 Excel 數據類型的實用 Python 是 DataFrame 物件。 若要深入瞭解 Python DataFrames,請參閱 Excel DataFrames 中的 Python。  

匯入外部資料 

您在 Excel 中使用 Python 處理的所有資料都必須來自您的工作表或 Power Query。 若要匯入外部數據,請使用 Excel 中的[取得 & 轉換] 功能來存取 Power Query。 如需詳細資訊,請參閱使用 Power Query 匯入 Excel 中的 Python 數據。 

重要: 為了保護您的安全性,Python 中常見的外部數據函 數,例如 pandas.read_csvpandas.read_excel,與 Excel 中的 Python 不相容。 若要深入瞭解,請參閱 Excel 中的數據安全性和 Python

計算順序 

傳統的 Python 語句會由上到下計算。 在 Excel 單元格中的 Python 中,Python 語句的執行方式相同,從上到下計算。 但在 Excel 工作表的 Python 中,Python 單元格會以列主要順序計算。 單元格計算會橫跨從欄 A 到欄 XFD) (列,然後在工作表下方的每個列之間執行。 

Python 語句是排序的,因此每個 Python 語句在計算順序前方的 Python 語句都有隱含的相依性。  

在工作表中定義及參照變數時,計算順序非常重要,因為您必須先定義變數,才能參照變數。  

重要: 列主要計算順序也適用於活頁簿內的工作表,並以活頁簿內的工作表順序為基礎。 如果您使用多個工作表在 Excel 中使用 Python 來分析數據,請務必在分析該數據的單元格和工作表前方,包含數據及任何可將數據儲存在單元格和工作表中的數據變數。   

重新計算 

當 Python 單元格的從屬值變更時,所有 Python 公式都會依序重新計算。 若要暫停 Python 重新計算並改善效能,請使用 部分計算手動計算 模式。 這些模式可讓您在準備好時觸發計算。 若要變更此設定,請移至功能區並選取 [公式],然後開啟 [ 計算選項]。 接下來,選取所需的計算模式。 [部分計算][手動計算] 模式會同時暫停 Python 和數據表的自動重新計算。

在 Python 開發期間停用活頁簿中的自動重新計算,可以改善效能和個別的 Python 單元格計算速度。 不過,您必須手動重新計算活頁簿,以確保每個 Python 單元格的正確性。 在 [ 部分計算 ] 或 [ 手動計算 ] 模式下,有三種方法可以手動重新計算活頁簿。

  1. 使用鍵盤快捷方式 F9

  2. 移至功能區中的 [ 公式 > 立即計算 ]。

  3. 移至含有過時值的儲存格,並以刪除線格式設定顯示,然後選取該儲存格旁邊的錯誤符號。 然後從功能表中選取 [ 立即計算 ]。

錯誤 

Excel 計算中的 Python 可以傳回錯誤,例如 #PYTHON!、#BUSY!和 #CONNECT! 到 Python 單元格。 若要深入瞭解,請參閱 疑難解答 Excel 中的 Python 錯誤

相關文章 

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。