Initial commit - Stand 26.04.2026
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
import openpyxl
|
||||
|
||||
file_path = 'Kopie von Kostenrechnung der Nächsten jahre (3).xlsx'
|
||||
wb = openpyxl.load_workbook(file_path, data_only=True)
|
||||
sheet = wb['Tilgung bei Gleichbleibenden Be']
|
||||
|
||||
print('=== ENDGÜLTIGE KREDIT-ANALYSE APRIL 2026 ===')
|
||||
print()
|
||||
|
||||
# KREDIT 1: DSL Bank (Spalte 9)
|
||||
dsl_rest = sheet.cell(189, 9).value
|
||||
dsl_rate = sheet.cell(189, 10).value
|
||||
print('KREDIT 1: DSL Bank')
|
||||
print(f' Spalte: 9 (Restschuld), 10 (Rate)')
|
||||
print(f' Restschuld Apr 2026: {dsl_rest:,.2f} €' if dsl_rest else ' Restschuld: None')
|
||||
print(f' Monatsrate: {dsl_rate} €' if dsl_rate else ' Rate: None')
|
||||
print()
|
||||
|
||||
# KREDIT 2: PSD Nord (Spalte 13)
|
||||
psd_rest = sheet.cell(189, 13).value
|
||||
psd_rate = sheet.cell(189, 14).value
|
||||
print('KREDIT 2: PSD Nord')
|
||||
print(f' Spalte: 13 (Restschuld), 14 (Rate)')
|
||||
print(f' Restschuld Apr 2026: {psd_rest:,.2f} €' if psd_rest else ' Restschuld: None')
|
||||
print(f' Monatsrate: {psd_rate} €' if psd_rate else ' Rate: None')
|
||||
print()
|
||||
|
||||
# KREDIT 3: Zingelstr. 14 - Sparkasse (Spalten 20, 21, 28)
|
||||
print('=== ZINGELSTR. 14 ANAYLSE ===')
|
||||
print()
|
||||
|
||||
# Wie interpretieren wir die Daten?
|
||||
# Option 1: Zingelstr. 14 = 1 Kredit, Sparkasse = Header
|
||||
# Option 2: Zingelstr. 14 ist ein Überbegriff, Sparkasse und DSL sind 2 Kredite
|
||||
|
||||
zingel_rest = sheet.cell(189, 20).value
|
||||
sparkasse_rate = sheet.cell(189, 21).value
|
||||
sparkasse_zins = sheet.cell(189, 22).value
|
||||
|
||||
print('Spalte 20 (Zingelstr. 14):')
|
||||
print(f' Restschuld: {zingel_rest:,.2f} €' if zingel_rest else ' Restschuld: None')
|
||||
print()
|
||||
|
||||
print('Spalte 21 (Sparkasse):')
|
||||
print(f' Rate: {sparkasse_rate} €')
|
||||
print()
|
||||
|
||||
print('Spalte 28 (kein Header):')
|
||||
val28 = sheet.cell(189, 28).value
|
||||
print(f' Wert: {val28:,.2f} €' if val28 else ' Wert: None')
|
||||
print()
|
||||
|
||||
# PRÜFUNG: Ist Spalte 28 = Zingelstr.14 - Sparkasse Restschuld?
|
||||
print('=== MATHEMATISCHE PRÜFUNG ===')
|
||||
sum_check = (dsl_rest or 0) + (psd_rest or 0) + (zingel_rest or 0)
|
||||
gesamt = sheet.cell(189, 24).value
|
||||
|
||||
print(f'DSL (9) + PSD (13) + Zingel (20) = {sum_check:,.2f} €')
|
||||
print(f'Gesamt (24) = {gesamt:,.2f} €')
|
||||
print(f'Differenz = {gesamt - sum_check:,.2f} €')
|
||||
|
||||
# Zingelstr.14 + Spalte 28
|
||||
sum_check2 = (dsl_rest or 0) + (psd_rest or 0) + (zingel_rest or 0) + (val28 or 0)
|
||||
print(f'\\nDSL (9) + PSD (13) + Zingel (20) + Col28 = {sum_check2:,.2f} €')
|
||||
print(f'Das passt zu Gesamt (24)!' if abs(sum_check2 - gesamt) < 0.01 else f'Passt nicht: Differenz {sum_check2 - gesamt}')
|
||||
print()
|
||||
|
||||
print('=== ERGEBNIS ===')
|
||||
print('Es gibt 4 aktive Kredite im April 2026:')
|
||||
print()
|
||||
print('1. DSL Bank (Spalte 9)')
|
||||
print(f' Restschuld: {dsl_rest:,.2f} €')
|
||||
print(f' Rate: {dsl_rate} €')
|
||||
print()
|
||||
print('2. PSD Nord (Spalte 13)')
|
||||
print(f' Restschuld: {psd_rest:,.2f} €')
|
||||
print(f' Rate: {psd_rate} €')
|
||||
print()
|
||||
print('3. Zingelstr. 14 - DSL (Spalte 20) - oder Gesamt für Zingelstr?')
|
||||
print(f' Restschuld: {zingel_rest:,.2f} €')
|
||||
print(f' Rate: unbekannt (nicht in Spalten 21/22)')
|
||||
print()
|
||||
print('4. Sparkasse (Spalte 28 - Restschuld, Spalte 21 - Rate)')
|
||||
print(f' Restschuld: {val28:,.2f} €')
|
||||
print(f' Rate: {sparkasse_rate} €')
|
||||
Reference in New Issue
Block a user