Solver to dodatek Excela do rozwiązywania zadań optymalizacyjnych: znajduje wartości komórek zmiennych, które maksymalizują lub minimalizują wynik formuły docelowej, przy zachowaniu zadanych ograniczeń. To praktyczne zastosowanie programowania liniowego poznawanego na matematyce.
| Element | Rola | Przykład |
|---|---|---|
| Komórka celu | Formuła, którą chcemy zmaksymalizować/zminimalizować | Łączny zysk ze sprzedaży |
| Komórki zmienne | Wartości, które Solver może modyfikować | Liczba sztuk produktu A i B |
| Ograniczenia | Warunki, których nie wolno przekroczyć | Budżet ≤ 10 000 zł, produkcja ≥ 0 |
Piekarnia produkuje chleb (zysk 3 zł/szt., 2 kg mąki) i bułki (zysk 1 zł/szt., 0.2 kg mąki). Ma dostępne 100 kg mąki i maksymalnie 8h pracy piekarza (chleb: 10 min/szt., bułki: 2 min/szt.). Solver znajdzie liczbę sztuk każdego produktu maksymalizującą łączny zysk, respektując oba ograniczenia.
Makro to nagrany lub napisany ciąg poleceń automatyzujący powtarzalne czynności w Excelu — np. formatowanie raportu co tydzień w identyczny sposób. VBA (Visual Basic for Applications) to język, w którym te makra są zapisywane.
Deweloper → Zarejestruj makro → nadaj nazwę → wykonaj czynności (np. formatowanie komórek, wstawienie sumy) → Deweloper → Zatrzymaj rejestrowanie. Excel automatycznie zapisuje wykonane kroki jako kod VBA, który można uruchomić ponownie jednym kliknięciem.
Ten kod przechodzi przez wiersze 2–30 w kolumnie B i koloruje komórki w zależności od wartości oceny — coś, co ręcznie zajęłoby kilka minut, makro wykona w ułamku sekundy.
Zbuduj w Excelu arkusz z modelem piekarni opisanym w sekcji 2 (formuły na zużycie mąki, czasu i zysku) i uruchom Solver, aby znaleźć optymalną liczbę chlebów i bułek do wyprodukowania.
Nagraj makro, które formatuje zaznaczony zakres komórek: pogrubia nagłówek, dodaje obramowanie i ustawia szerokość kolumn na "Automatyczne dopasowanie". Przetestuj je na dowolnym zestawie danych.
1. Co to jest komórka celu w konfiguracji Solvera?
2. W jakim języku pisane są makra w Excelu?
3. Jaka jest zaleta nagrywania makra zamiast pisania kodu VBA ręcznie?