開始使用 Excel 中的 Copilot
Applies To
如需可用性資訊,請參閱 Excel 中的 Python 可用性。 如果您在使用 Excel 中的 Python 時遇到任何問題,請選取 Excel 中的 [說明] > [意見反應] 來回報問題。
第一次使用 Excel 中的 Python 嗎? 從 Excel 中的 Python 簡介開始。
開始使用 Python
若要開始在 Excel 中使用 Python,請選取儲存格,然後在 [公式 ] 索引標籤上,選取 [插入 Python]。 這告訴 Excel,您要在所選儲存格中編寫 Python 公式。
或者在儲存格中使用函數 =PY 來啟用 Python。 在儲存格中輸入 =PY 後,從功能中選擇 PY,使用向下鍵和 Tab 鍵自動完成功能,或在函數中新增左括號: =PY (。 現在,您可以直接在儲存格中輸入 Python 程式碼。 下列螢幕擷取畫面顯示選取 PY 函式的 [自動完成] 功能表。
在儲存格中啟用 Python 後,該儲存格會顯示一個 PY 圖示。 選取 Python 儲存格時,編輯列會顯示相同的 PY 圖示。 請參閱下列螢幕擷取畫面以取得範例。
將 Python 與 Excel 儲存格和範圍結合
若要參考 Python 儲存格中的 Excel 物件,請確定 Python 儲存格處於 [編輯] 模式,然後選取您要包含在 Python 公式中的儲存格或範圍。 這會自動使用您選取的儲存格或範圍的位址填入 Python 儲存格。
提示: 使用鍵盤快速鍵 F2 在 Python 儲存格中的 Enter 模式和編輯模式之間切換。 切換至「編輯」模式可讓您編輯 Python 公式,切換至「回車」模式可讓您使用鍵盤選擇其他儲存格或範圍。 若要深入了解快速鍵,請參閱 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 計算,將儲存格 A1 和 B1 的值相加,並在儲存格 C1 中傳回 Python 結果。
公式列
使用編輯列進行類似程式碼的編輯行為,例如使用 Enter 鍵建立新行。 使用向下箭頭圖示展開編輯列,以一次檢視多行程式碼。 您也可以使用鍵盤快速鍵 Ctrl+Shift+U 來展開編輯列。 下列螢幕擷取畫面顯示公式列展開以檢視多行 Python 程式碼之前和之後。
展開編輯列之前:
展開編輯列後:
提示: 如需更大的程式碼編輯空間和文字著色和 IntelliSense 等功能,請使用 Excel 程式碼編輯器中的 Python。
輸出類型
使用公式列中的 [Python 輸出] 功能表來控制傳回 Python 計算的方式。 將計算傳回為 Python 物件,或將計算轉換為 Excel 值,並將其直接輸出到儲存格。 下列螢幕擷取畫面顯示傳回為 Excel 值的 Python 公式。
提示: 您也可以使用滑鼠右鍵功能表來變更 Python 輸出類型。 開啟滑鼠右鍵功能表,然後移至 Python 輸出,然後選取所需的輸出類型。
下列螢幕擷取畫面顯示與上述螢幕擷取畫面相同的 Python 公式,現在會傳回為 Python 物件。 當公式傳回為 Python 物件時,儲存格會顯示卡片圖示。
附註: 傳回 Excel 值的公式結果會轉換為最接近的 Excel 對等值。 如果您打算在未來的 Python 計算中重複使用結果,建議將結果傳回為 Python 物件。 將結果傳回為 Excel 值可讓您對值執行 Excel 分析,例如 Excel 圖表、公式和條件式格式。
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_csv 和 pandas.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 儲存格的準確性。 有三種方式可以在 「部分計算」 或「 手動計算 」模式下手動重新計算活頁簿。
-
使用鍵盤快速鍵 F9。
-
移至 公式 > 立即 計算 在功能區中。
-
移至具有過時值的儲存格,以刪除線格式顯示,然後選取該儲存格旁邊的錯誤符號。 然後從菜單中選擇立即計算。
錯誤
Excel 中的 Python 計算可以向 Python 儲存格傳回 #PYTHON!、 #BUSY!、 #CONNECT! 等錯誤。 若要深入瞭解,請參閱 針對 Excel 中的 Python 錯誤進行疑難排解。