0Pricing
Python Academy · Lekcja

Formuły i wykresy

Dodawaj formuły i wykresy

Formuły i wykresy to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Coś więcej niż statyczne wartości

Rzeczywiste arkusze kalkulacyjne wykonują obliczenia. openpyxl może zapisywać formuły Excela, które są ponownie obliczane po zmianie danych, oraz dodawać wykresy przedstawiające liczby bezpośrednio w skoroszycie.

Dzięki temu generowane raporty wyglądają naturalnie dla użytkowników Excela.

Zapisywanie formuły

Formuła to po prostu ciąg znaków zaczynający się od =. Można przypisać ją tak jak dowolną wartość: ws['B10'] = '=SUM(B2:B9)'. Excel obliczy ją po otwarciu pliku.

openpyxl przechowuje tekst formuły, ale samodzielnie nie oblicza jej wyniku.

first_row, last_row = 2, 9
formula = '=SUM(B' + str(first_row) + ':B' + str(last_row) + ')'
print('Cell B10 ->', formula)

Typowe funkcje

Najczęściej używane funkcje Excela działają również jako ciągi znaków:

  • =SUM(range) suma
  • =AVERAGE(range) średnia
  • =MAX(range) / =MIN(range)
  • =COUNT(range) liczba wartości liczbowych

Proszę zapisywać je dokładnie tak, jak w przypadku wpisywania ich w Excelu.

Formuły nie są obliczane w Pythonie

Ważne: jeśli zapisze Pan lub zapisze Pani formułę, a następnie odczyta ją za pomocą openpyxl bez otwierania pliku w Excelu, otrzyma Pan lub otrzyma Pani tekst formuły, a nie liczbę. Aby odczytać obliczone wyniki, proszę najpierw otworzyć plik w Excelu, a następnie wczytać go z użyciem data_only=True.

Tworzenie odwołań do komórek

Generowanie formuł często oznacza programistyczne tworzenie odwołań. Połączenie litery kolumny z numerem wiersza daje adres. Jest to zwykła operacja na ciągach znaków.

col = 'C'
def cell_ref(c, r):
    return c + str(r)

total_formula = '=AVERAGE(' + cell_ref(col, 2) + ':' + cell_ref(col, 11) + ')'
print(total_formula)

Dodawanie wykresu

openpyxl może osadzać wykresy. Należy utworzyć obiekt wykresu, taki jak BarChart(), przekazać mu dane za pomocą obiektu Reference wskazującego zakres komórek, a następnie dodać go do arkusza za pomocą ws.add_chart(chart, 'E2').

Dostępne typy wykresów obejmują słupkowe, liniowe, kołowe i punktowe.

Odwołania do danych

Obiekt Reference(ws, min_col=2, min_row=1, max_row=6) wybiera komórki, z których wykres odczytuje dane. Kategorie (etykiety) pochodzą z innego odwołania. Kluczowe znaczenie ma poprawne określenie tych zakresów.

data_rows = 6
ref = {'min_col': 2, 'min_row': 1, 'max_row': data_rows}
print('Chart reads column', ref['min_col'], 'rows', ref['min_row'], 'to', ref['max_row'])

Tytuły i osie wykresu

Proszę ustawić chart.title = 'Monthly Sales' oraz opisać osie za pomocą chart.x_axis.title i chart.y_axis.title. Opisany wykres umieszczony w raporcie nie wymaga osobnego wyjaśnienia.

Wybór typu wykresu

Obowiązuje tu ta sama zasada co w przypadku każdej wizualizacji: wykres słupkowy służy do porównywania kategorii, liniowy do przedstawiania trendów, a kołowy do pokazywania części całości. Proszę wybrać typ odpowiadający pytaniu, na które odpowiada raport.

question = 'how did revenue change month over month'
if 'change' in question or 'trend' in question:
    print('Use a LineChart')
else:
    print('Use a BarChart')

Łączenie elementów

Typowy raport zapisuje tabelę danych, dodaje na dole formułę sumy, a następnie umieszcza wykres odwołujący się do tych samych danych. Po otwarciu Excel wyświetla aktualne sumy i wizualizację, wygenerowane w całości w Pythonie.

Formuły warunkowe

Funkcje logiczne Excela również działają jako ciągi znaków: =IF(B2>100, 'High', 'Low') lub =SUMIF(A2:A9, 'North', B2:B9). Dzięki nim wygenerowany raport może klasyfikować i agregować dane bez dodatkowych przebiegów w Pythonie.

Proszę tworzyć je za pomocą takiego samego konkatenowania ciągów znaków, jak w przypadku dowolnej formuły.

Szybki test

Proszę sprawdzić swoją wiedzę na temat formuł i wykresów.

Podsumowanie

Można już dodawać logikę i wizualizacje:

  • Zapisywanie formuł jako ciągów znaków zaczynających się od =; openpyxl przechowuje je, ale nie oblicza
  • Używanie data_only=True po obliczeniu wyników przez Excel
  • Programistyczne tworzenie odwołań na podstawie liter kolumn i numerów wierszy
  • Osadzanie wykresów za pomocą BarChart()/LineChart(), obiektu Reference i ws.add_chart

Często zadawane pytania

Czy lekcja „Formuły i wykresy” jest bezpłatna?

Tak — pełny tekst „Formuły i wykresy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Formuły i wykresy”?

Dodawaj formuły i wykresy Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Formuły i wykresy”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Odczytywanie skoroszytów
  2. Zapis i stylizowanie komórek
  3. Formuły i wykresy
  4. Przetwarzanie raportów wsadowych
← Powrót do Python Academy