Menu Zamknij

Python w Excelu 365 to jedna z największych nowości, jaką Microsoft wprowadził do swojego arkusza kalkulacyjnego. Dzięki tej integracji możesz pisać kod Python bezpośrednio w komórkach Excela — bez instalowania czegokolwiek, bez opuszczania arkusza, bez dodatkowych narzędzi. W tym artykule dowiesz się wszystkiego: jak uruchomić Pythona w Excelu, jak korzystać z bibliotek Pandas i Matplotlib, jakie są ograniczenia i kiedy naprawdę warto po to sięgnąć.

Co to jest Python w Excelu 365?

Python w Excelu (ang. Python in Excel) to wbudowana funkcja Microsoft 365, która pozwala uruchamiać kod Python bezpośrednio w komórkach arkusza kalkulacyjnego. Kod jest wykonywany nie na Twoim komputerze, lecz w chmurze Microsoft (Azure) — w izolowanym środowisku Anaconda. Wyniki trafiają z powrotem do komórek Excela jako wartości, tabele lub wykresy.

Definicja
Python w Excelu 365 to wbudowana integracja pozwalająca pisać i uruchamiać kod Python bezpośrednio w komórkach arkusza, bez instalacji, za pomocą funkcji =PY(). Obliczenia wykonywane są w chmurze Microsoft przez środowisko Anaconda — z dostępem do bibliotek Pandas, NumPy, Matplotlib, scikit-learn i wielu innych.

Funkcja dostępna jest dla subskrybentów Microsoft 365 (Personal, Family, Business) na systemie Windows, a od 2025 roku stopniowo wdrażana także na macOS.

Dlaczego Python w Excelu to przełom?

Przez lata użytkownicy Excela mieli do wyboru dwie drogi:

  • Excel + VBA / Power Query — potężne narzędzia wbudowane, ale z ograniczeniami językowymi i słabą obsługą zaawansowanej statystyki.
  • Python w osobnym środowisku (Jupyter Notebook, VS Code) — pełna elastyczność, ale poza Excelem, z koniecznością eksportowania danych.

Python w Excelu 365 łączy oba światy: dane żyją w arkuszu, a Ty piszesz w Pythonie — z dostępem do wszystkich popularnych bibliotek.

CechaVBAPower QueryPython w Excelu
JęzykVBAMPython
Biblioteki zewnętrzne❌ Brak❌ Brak✅ Pandas, NumPy, Matplotlib…
Zaawansowana statystyka⚠️ Ograniczona❌ Nie✅ Tak
Uczenie maszynowe❌ Nie❌ Nie✅ scikit-learn, statsmodels
WykonanieLokalnieLokalnieChmura (Azure)
Wymaga internetu❌ Nie❌ Nie✅ Tak

Jak uruchomić Python w Excelu 365?

📋

Wymagania

Subskrypcja Microsoft 365 (aktualna) + Excel na Windows wersja 2406 lub nowsza + połączenie z internetem.

⌨️

Wpisz =PY(

Kliknij dowolną komórkę i wpisz =PY(. Excel przełączy ją w tryb Python — tło zmieni kolor na zielony.

Zatwierdź Ctrl+Enter

Napisz kod i zatwierdź klawiszem Ctrl + Enter (nie samym Enter). Wynik pojawi się w komórce.

Excel – pierwszy kod Python
' Wpisz w komórce:
=PY(
x = 5
y = 10
x + y
)

✅ Wynik: 15 — pojawi się w komórce jako liczba Excela.

Odwoływanie się do danych z arkusza – funkcja xl()

Kluczową funkcją jest xl() — pozwala pobrać dane z komórek, zakresów lub Tabel Excela bezpośrednio do kodu Python.

1

Pojedyncza komórka

Pobierz wartość z komórki i użyj jej w obliczeniach Pythona.

2

Zakres jako DataFrame Pandas

Pobierz zakres komórek jako DataFrame — gotowy do analizy z Pandas.

3

Tabela Excela

Odwołaj się do nazwanej Tabeli Excela — dane automatycznie rozszerzają się gdy dodajesz wiersze.

Excel – xl() – przykłady odwołań
' 1. Pojedyncza komórka
=PY(
wartość = xl("A1")
wartość * 2
)
✅ Pobiera wartość z A1 i mnoży przez 2.

' 2. Zakres jako DataFrame Pandas
=PY(
import pandas as pd
df = xl("A1:D100", headers=True)
df.head()
)
✅ Importuje A1:D100 jako DataFrame. headers=True = pierwszy wiersz to nagłówki.

' 3. Tabela Excela
=PY(
df = xl("Tabela1[#Wszystko]", headers=True)
df.describe()
)
✅ Pobiera dane z Tabeli "Tabela1". describe() = podstawowe statystyki.

Przykłady zastosowania Python w Excelu

Przykład 1 – Analiza sprzedaży z Pandas

Masz tabelę sprzedaży: kolumna A – data, B – produkt, C – ilość, D – cena. Chcesz policzyć łączną sprzedaż według produktu.

Excel – grupowanie sprzedaży według produktu
=PY(
import pandas as pd

df = xl("A1:D500", headers=True)

# Oblicz wartość sprzedaży
df["Wartość"] = df["Ilość"] * df["Cena"]

# Grupuj według produktu
wynik = df.groupby("Produkt")["Wartość"].sum().reset_index()
wynik.sort_values("Wartość", ascending=False)
)
✅ Wynik: tabela z produktami posortowana malejąco według łącznej sprzedaży.

Przykład 2 – Wykres z Matplotlib

Python w Excelu pozwala tworzyć wykresy bezpośrednio w arkuszu — bez opuszczania Excela.

Excel – wykres słupkowy sprzedaży miesięcznej
=PY(
import pandas as pd
import matplotlib.pyplot as plt

df = xl("A1:B13", headers=True)

fig, ax = plt.subplots()
ax.bar(df["Miesiąc"], df["Sprzedaż"], color="steelblue")
ax.set_title("Sprzedaż miesięczna")
ax.set_xlabel("Miesiąc")
ax.set_ylabel("Sprzedaż (PLN)")
plt.tight_layout()
fig
)
✅ Wykres słupkowy pojawia się bezpośrednio w komórce Excela — możesz go przesuwać i skalować.

Przykład 3 – Macierz korelacji z Seaborn

Excel – mapa cieplna korelacji
=PY(
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = xl("A1:E100", headers=True)

fig, ax = plt.subplots(figsize=(8, 6))
sns.heatmap(df.corr(), annot=True, fmt=".2f", cmap="coolwarm", ax=ax)
ax.set_title("Macierz korelacji")
fig
)
✅ Mapa cieplna korelacji między zmiennymi — widoczna od razu w arkuszu.

Przykład 4 – Prognozowanie z scikit-learn

Excel – regresja liniowa i prognoza sprzedaży
=PY(
import pandas as pd
from sklearn.linear_model import LinearRegression
import numpy as np

df = xl("A1:B50", headers=True)
X = df[["Wydatki_Reklama"]].values
y  = df["Sprzedaż"].values

model = LinearRegression()
model.fit(X, y)

nowe = np.array([[5000], [10000], [20000]])
prognozy = model.predict(nowe)

pd.DataFrame({"Wydatki": nowe.flatten(), "Prognoza_Sprzedaży": prognozy.round(0)})
)
✅ Tabela z prognozą sprzedaży dla trzech poziomów wydatków reklamowych.

Dostępne biblioteki Python w Excelu

Microsoft udostępnia Python przez środowisko Anaconda — masz gotowy dostęp do najpopularniejszych bibliotek bez żadnej instalacji:

pandasAnaliza danych tabelarycznych
NumPyObliczenia numeryczne
MatplotlibWykresy i wizualizacje
SeabornZaawansowane wykresy statystyczne
scikit-learnUczenie maszynowe
statsmodelsAnaliza statystyczna i ekonometryczna
SciPyObliczenia naukowe
PlotlyInteraktywne wykresy
⚠️ Uwaga: Nie możesz instalować własnych bibliotek spoza środowiska Anaconda. Pakiety jak requests czy własne moduły firmowe są niedostępne ze względów bezpieczeństwa.

Tryby wyjścia – wartość vs. obiekt Python

📊 Wartość Excela

Domyślny tryb – wynik jako liczba lub tabela

  • Konwersja do standardowej wartości Excela
  • Możesz używać w dalszych formułach (SUMA, JEŻELI…)
  • Idealny dla liczb, tabel, DataFrame
🐍 Obiekt Python

Wynik pozostaje obiektem Python

  • Komórka pokazuje etykietę DataFrame lub Figure
  • Możesz odwołać się do niego z innej formuły Python
  • Idealny dla wykresów i pośrednich wyników

Najczęstsze błędy i jak je naprawić

BłądPrzyczynaRozwiązanie
Python nie jest dostępnyStara wersja Excela lub brak subskrypcji M365Zaktualizuj Microsoft 365 i sprawdź subskrypcję
ModuleNotFoundErrorBiblioteka niedostępna w środowisku AnacondaUżywaj tylko bibliotek z listy powyżej
Pusta komórka / brak wynikuKod nie zwraca żadnej wartościUpewnij się, że ostatnia linia to wyrażenie zwracające wartość
Wynik jako [DataFrame]Komórka w trybie obiektu PythonKliknij ikonę przy komórce → Konwertuj do wartości Excela
KeyError: 'nazwa_kolumny'Błędna nazwa kolumny lub brak headers=TrueSprawdź nazwy kolumn, dodaj headers=True do xl()
Długi czas wykonaniaZbyt duży zbiór danych lub złożone obliczeniaOgranicz zakres danych lub uprość obliczenia

Python w Excelu vs VBA vs Power Query – kiedy co wybrać?

ZadanieNajlepsze narzędzie
Automatyzacja kliknięć i interfejsu Excela✅ VBA
Czyszczenie i transformacja danych z wielu źródeł✅ Power Query
Zaawansowana analiza statystyczna✅ Python w Excelu
Uczenie maszynowe, prognozowanie✅ Python w Excelu
Złożone wykresy i wizualizacje✅ Python w Excelu
Proste obliczenia i formuły✅ Wbudowane funkcje Excela
Praca offline bez internetu✅ VBA lub Power Query

Ograniczenia Python w Excelu 365

Wymaga połączenia z internetem. Kod wykonywany jest w chmurze Azure. Bez dostępu do sieci funkcja =PY() nie działa.
Brak własnych bibliotek. Nie możesz instalować pakietów spoza środowiska Anaconda. Własne moduły firmowe są niedostępne.
Limit czasu i zasobów. Kod musi zakończyć działanie w określonym czasie. Bardzo duże zbiory danych mogą przekroczyć limit.
Dane trafiają do chmury. Dane z arkusza są przesyłane do serwerów Microsoft. W środowiskach z ograniczeniami przetwarzania danych warto skonsultować to z działem IT.
Brak obsługi VBA i COM. Python w Excelu nie może wywoływać makr VBA ani sterować interfejsem Excela.

Najczęściej zadawane pytania (FAQ)

Czy Python w Excelu jest dostępny bezpłatnie?
Nie osobno — wymaga aktywnej subskrypcji Microsoft 365. Użytkownicy M365 Personal, Family i Business mają dostęp bez dodatkowych opłat, w ramach subskrypcji.
Czy muszę instalować Pythona na komputerze?
Nie. Środowisko Python (Anaconda) działa w chmurze Microsoft. Na Twoim komputerze nie jest instalowane nic dodatkowego — wystarczy aktualny Excel 365.
Czy wyniki obliczeń Python odświeżają się automatycznie?
Tak. Gdy zmienisz dane w komórkach, do których odwołuje się kod przez xl(), wynik zostanie automatycznie przeliczony — tak samo jak zwykłe formuły Excela.
Czy mogę używać Python w Excelu na Macu?
Od 2025 roku Microsoft stopniowo wdraża tę funkcję na macOS dla subskrybentów M365. Dostępność zależy od kanału aktualizacji — sprawdź wersję Excela przez menu Pomoc → Informacje o programie Excel.
Czy kod Python jest zapisywany w pliku Excel?
Tak. Kod Python wpisany w formułach =PY() jest zapisywany wewnątrz pliku .xlsx. Gdy udostępniasz plik innej osobie z aktywnym M365, ona również może uruchamiać i edytować kod.
Jaka jest różnica między Python w Excelu a Jupyter Notebook?
Jupyter Notebook to osobne środowisko pracy (notatnik w przeglądarce), idealne do eksploracji danych. Python w Excelu działa bezpośrednio w arkuszu — dane i wyniki są w jednym pliku, co ułatwia pracę osobom przyzwyczajonym do Excela.

📋 Podsumowanie – co warto zapamiętać

  • Python w Excelu 365 pozwala pisać kod Python bezpośrednio w komórkach — bez instalacji, za pomocą funkcji =PY()
  • Kod wykonywany jest w chmurze Microsoft przez środowisko Anaconda z dostępem do Pandas, NumPy, Matplotlib, scikit-learn i innych
  • Do pobierania danych z arkusza służy funkcja xl(„zakres”, headers=True)
  • Wyniki mogą być zwracane jako wartości Excela (liczby, tabele) lub obiekty Python (DataFrame, wykresy)
  • Funkcja wymaga aktywnej subskrypcji Microsoft 365 i połączenia z internetem
  • Idealny do zaawansowanej analizy danych, prognozowania, wizualizacji i uczenia maszynowego — bez opuszczania Excela
  • Nie zastępuje VBA (sterowanie interfejsem) ani Power Query (transformacja danych) — lecz je uzupełnia

10h | C++ Kurs Podstawowy Programowania | Postaw Na Rozwój

X