Vaka: Bir Muhasebe Ofisinin Haftalık Excel Raporunu Python ile Otomatikleştirmesi
Bu derste kurgusal ama gerçekçi bir vakayı birlikte inceleyeceğiz. Amacımız yeni öğrendiğiniz temel yapıların (değişkenler, döngüler, listeler, fonksiyonlar) gerçek bir iş sorununda nasıl bir araya geldiğini görmek. Vaka öğretici amaçlıdır; sayısal sonuç verilmez, kazanç niteliksel olarak tartışılır.
Durum: Her Pazartesi Aynı Dert
Bursa'da orta ölçekli bir tekstil firmasının muhasebe ekibi, her hafta satış verilerini elle birleştiriyor. Her bölge temsilcisi kendi Excel dosyasını gönderiyor. Ekipten biri bu dosyaları tek tabloda toplayıyor, toplamları alıyor ve yönetime özet hazırlıyor. Bu iş her hafta günler alıyor ve en büyük risk, kopyala-yapıştır sırasında yapılan sessiz hatalar.
Ekipteki yeni çalışanımız Elif, kursun temel konularını yeni bitirmiş biri. Elif'in elindeki araçlar sınırlı ama yeterli: değişken, döngü, liste ve fonksiyon.
Adım 1: Sorunu Doğru Tanımlamak
Elif ilk iş olarak kod yazmadı. Bir kâğıda işin bugünkü akışını yazdı:
- Girdi: Her temsilciden gelen, aynı sütun düzenine sahip satış dosyaları.
- İşlem: Dosyaları birleştirmek, ürün grubu ve bölge bazında toplam almak.
- Çıktı: Yönetime giden tek sayfalık özet.
Bu tanım kritik bir fark yarattı: Elif'in çözeceği sorun "Excel'i otomatikleştirmek" gibi bulanık bir hedef değil, "üç girdiden bir çıktı üretmek" gibi net bir iş oldu.
Adım 2: İşi Küçük Parçalara Bölmek
| Parça | Kursta kullanılan yapı | Görevi |
|---|---|---|
| Dosya listesi | Liste | Haftanın dosya adlarını tek listede tutar |
| Her dosyayı okuma | for döngüsü | Listedeki her dosya için aynı adımı tekrarlar |
| Satırı kontrol etme | if / else | Boş veya hatalı satırı ayıklar |
| Toplam hesaplama | Fonksiyon | Aynı hesabı tek yerde, tekrar yazmadan yapar |
| Sonucu yazdırma | Değişkenler, print | Özeti okunur biçimde gösterir |
Adım 3: Önce Basit Sürüm
Elif önemli bir karar aldı: ilk sürüm sadece tek bir bölgenin tek haftalık dosyasını okuyup toplamını yazdıracaktı. Grafik yok, otomatik e-posta yok, şık biçimlendirme yok.
Bu kararın gerekçesi şuydu: küçük sürüm hızlı çalışır, hatası kolay bulunur ve ekibe "işe yarıyor" diye gösterilebilir. Elif sonucu, kendi elle hesapladığı toplamla yan yana koydu. İki sonuç tutunca bir sonraki adıma geçti.
Adım 4: Adım Adım Genişletmek
- Önce tek dosya yerine dosya listesi ve bir for döngüsü eklendi.
- Sonra hesap mantığı bir fonksiyona taşındı; böylece aynı kod birden fazla yerde kopyalanmadı.
- En son ürün grubu bazında ayrım eklendi.
Her eklemeden sonra Elif betiği yeniden çalıştırıp sonucu kontrol etti. Aynı anda çok şey değiştirmedi; hata çıktığında nedeni hemen biliyordu.
Karşılaşılan Sorunlar
- Boş satırlar: Bazı dosyalarda tablo altında boş satırlar vardı ve hesap bozuldu. Çözüm: if ile boş değeri atlamak.
- Sayı yerine metin: Bazı hücrelerde tutar metin olarak girilmişti. Çözüm: dönüştürme öncesi kontrol ve hatalı satırı atlamak yerine listeye not etmek.
- Dosya adı tutarsızlığı: Her temsilci dosyayı farklı adlandırıyordu. Çözüm: ekip ortak bir adlandırma kuralı belirledi. Bu, kodla değil süreçle çözülen bir sorundu.
Alınan Kararlar: Hatalı Sonuç Riskini Yönetmek
Muhasebede yanlış toplam, yavaş toplamdan daha pahalıdır. Bu yüzden Elif ve ekip şu kuralları koydu:
- Betik ilk haftalarda elle hazırlanan raporla paralel çalıştırıldı ve iki sonuç karşılaştırıldı.
- Betik atladığı her satırı ekrana yazdırdı; hiçbir şey sessizce kaybolmadı.
- Betiği değiştiren kişi, değişikliği ekipçe görülebilir bir yere not etti.
- Yönetime giden son rapor, bir muhasebe uzmanının gözünden geçmeye devam etti.
Çıkarılan Dersler
- Kod yazmadan önce işi kâğıtta tanımlayın.
- Önce en küçük çalışan sürümü yapın, sonra genişletin.
- Betiğin sonucunu bildiğiniz bir sonuçla karşılaştırın.
- Hatayı gizlemeyin, görünür kılın.
- Bazı sorunlar kodla değil, ortak kuralla çözülür.
Kendi İşiniz İçin Mini Şablon
| Soru | Sizin cevabınız |
|---|---|
| Hangi iş her hafta tekrar ediyor? | |
| Girdi nedir, çıktı nedir? | |
| En küçük çalışan sürüm ne olur? | |
| Sonucu neyle karşılaştıracağım? |
Tartışma Soruları
- Sizin işinizde hangi tekrar eden görev otomatikleştirilebilir?
- Önce neyi küçük başlatırdınız? İlk sürümde neleri bilerek dışarıda bırakırdınız?
- Betiğin hatalı sonuç vermesi riskini nasıl yönetirdiniz? Kontrolü kim ve nasıl yapardı?
Bu dersi kayıt olmadan izleyebilirsin. İlerlemeni kaydetmek, sertifika almak ve puan tablosuna girmek için ücretsiz üye ol: Kayıt Ol
İpucu: ← ve → tuşlarıyla dersler arasında geçebilirsin.