CommunityCodierung & Entwicklunggithub.com

xlsx

Umfassende Erstellung, Bearbeitung und Analyse von Tabellenkalkulationen mit Unterstützung für Formeln, Formatierung, Datenanalyse und Visualisierung.

Was ist xlsx?

Die Fähigkeit **xlsx** ermöglicht es KI-Agenten, Excel-Dateien (.xlsx, .xlsm, .csv, .tsv) professionell zu erstellen, zu lesen, zu analysieren und zu modifizieren, wobei Formeln und Formatierungen dynamisch erhalten bleiben. Der Fokus liegt auf der Verwendung von **Excel-Formeln** anstatt hartcodierter Werte, sodass Tabellen nach Änderungen automatisch neu berechnet werden können. Die Regelung umfasst branchenübliche Farb- und Zahlenformatierungsstandards (z. B. blaue Schrift für Eingaben, schwarze für Formeln, gelber Hintergrund für Annahmen) sowie spezielle Vorgaben für Finanzmodelle zur Fehlervermeidung (`#REF!`, `#DIV/0!` usw.). Für die Bearbeitung kommen **openpyxl** (Formeln, Formatierung) und **pandas** (Datenanalyse) zum Einsatz; ein `recalc.py`-Skript nutzt LibreOffice, um Formeln nach der Bearbeitung automatisch neu zu berechnen und Fehler zu melden. Die Fähigkeit unterstützt Workflows wie das Erstellen neuer Dateien, das Ändern bestehender Vorlagen unter strenger Erhaltung der Formatierung und die Analyse von Daten mit Pandas. Sie ist ideal für Entwickler und Analysten, die dynamische, fehlerfreie Excel-Arbeitsmappen benötigen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ComposioHQ/awesome-claude-skills/tree/master/document-skills/xlsx

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Anforderungen an die Ausgaben

Alle Excel-Dateien

Keine Formelfehler

  • Jedes Excel-Modell MUSS OHNE Formelfehler ausgeliefert werden (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)

Vorhandene Vorlagen erhalten (beim Aktualisieren von Vorlagen)

  • Vorhandene Formatierung, Stil und Konventionen STUDIEREN und GENAU beibehalten
  • Nie standardisierte Formatierung auf Dateien mit etablierten Mustern aufzwingen
  • Bestehende Vorlagenkonventionen haben IMMER Vorrang vor diesen Richtlinien

Finanzmodelle

Farbkodierungsstandards

Sofern nicht anders vom Benutzer oder der vorhandenen Vorlage angegeben

Branchenübliche Farbkonventionen

  • Blaue Schrift (RGB: 0,0,255): Festeingaben und Zahlen, die der Benutzer für Szenarien ändern wird
  • Schwarze Schrift (RGB: 0,0,0): ALLE Formeln und Berechnungen
  • Grüne Schrift (RGB: 0,128,0): Verweise aus anderen Arbeitsblättern innerhalb derselben Arbeitsmappe
  • Rote Schrift (RGB: 255,0,0): Externe Verweise auf andere Dateien
  • Gelber Hintergrund (RGB: 255,255,0): Wichtige Annahmen, die Aufmerksamkeit benötigen, oder Zellen, die aktualisiert werden müssen

Zahlenformatierungsstandards

Erforderliche Formatregeln

  • Jahre: Als Textzeichenfolgen formatieren (z. B. „2024“ nicht „2.024“)
  • Währung: Format $#.##0 verwenden; Einheiten IMMER in Überschriften angeben („Umsatz ($ Mio.)“)
  • Nullen: Zahlenformatierung verwenden, um alle Nullen als „-“ darzustellen, auch bei Prozentangaben (z. B. „$#.##0;($#.##0);-“)
  • Prozentsätze: Standardformat 0,0% (eine Dezimalstelle)
  • Multiplikatoren: Format 0,0x für Bewertungsmultiplikatoren (EV/EBITDA, KGV)
  • Negative Zahlen: Klammern (123) verwenden, nicht Minus -123

Formelerstellungsregeln

Platzierung von Annahmen

  • ALLE Annahmen (Wachstumsraten, Margen, Multiplikatoren usw.) in separate Annahmenzellen setzen
  • Zellbezüge anstelle von fest codierten Werten in Formeln verwenden
  • Beispiel: =B5*(1+$B$6) anstelle von =B5*1,05

Vermeidung von Formelfehlern

  • Alle Zellbezüge auf Richtigkeit prüfen
  • Auf „Off-by-one“-Fehler in Bereichen achten
  • Konsistente Formeln über alle Prognosezeiträume sicherstellen
  • Mit Grenzfällen testen (Nullwerte, negative Zahlen)
  • Auf unbeabsichtigte Zirkelbezüge prüfen

Dokumentationsanforderungen für Festcodierungen

  • Kommentare oder neben den Zellen (wenn am Ende einer Tabelle). Format: „Quelle: [System/Dokument], [Datum], [Spezifischer Verweis], [URL falls zutreffend]“
  • Beispiele:
    • „Quelle: Unternehmens-10K, GJ2024, Seite 45, Umsatzvermerk, [SEC EDGAR URL]“
    • „Quelle: Unternehmens-10Q, Q2 2025, Anhang 99.1, [SEC EDGAR URL]“
    • „Quelle: Bloomberg Terminal, 15.08.2025, AAPL US Equity“
    • „Quelle: FactSet, 20.08.2025, Bildschirm Konsensschätzungen“

Erstellung, Bearbeitung und Analyse von XLSX-Dateien

Übersicht

Ein Benutzer kann Sie bitten, den Inhalt einer .xlsx-Datei zu erstellen, zu bearbeiten oder zu analysieren. Für verschiedene Aufgaben stehen Ihnen unterschiedliche Tools und Workflows zur Verfügung.

Wichtige Anforderungen

LibreOffice für die Neuberechnung von Formeln erforderlich: Sie können davon ausgehen, dass LibreOffice installiert ist, um Formelwerte mit dem Skript recalc.py neu zu berechnen. Das Skript konfiguriert LibreOffice beim ersten Lauf automatisch.

Daten lesen und analysieren

Datenanalyse mit pandas

Für Datenanalyse, Visualisierung und grundlegende Operationen verwenden Sie pandas, das leistungsstarke Datenmanipulationsfunktionen bietet:

import pandas as pd

# Excel lesen
df = pd.read_excel('datei.xlsx')  # Standard: erstes Blatt
all_sheets = pd.read_excel('datei.xlsx', sheet_name=None)  # Alle Blätter als Dict

# Analysieren
df.head()      # Datenvorschau
df.info()      # Spalteninformationen
df.describe()  # Statistiken

# Excel schreiben
df.to_excel('ausgabe.xlsx', index=False)

Excel-Datei-Workflows

WICHTIG: Formeln verwenden, keine hartcodierten Werte

Verwenden Sie immer Excel-Formeln, anstatt Werte in Python zu berechnen und hart zu codieren. Dadurch bleibt die Tabelle dynamisch und aktualisierbar.

❌ FALSCH - Hartcodierte berechnete Werte

# Schlecht: In Python berechnen und Ergebnis hart codieren
total = df['Umsatz'].sum()
blatt['B10'] = total  # Hartcodiert 5000

# Schlecht: Wachstumsrate in Python berechnen
wachstum = (df.iloc[-1]['Umsatz'] - df.iloc[0]['Umsatz']) / df.iloc[0]['Umsatz']
blatt['C5'] = wachstum  # Hartcodiert 0,15

# Schlecht: Python-Berechnung für Durchschnitt
avg = sum(werte) / len(werte)
blatt['D20'] = avg  # Hartcodiert 42,5

✅ RICHTIG - Excel-Formeln verwenden

# Gut: Excel die Summe berechnen lassen
blatt['B10'] = '=SUMME(B2:B9)'

# Gut: Wachstumsrate als Excel-Formel
blatt['C5'] = '=(C4-C2)/C2'

# Gut: Durchschnitt mit Excel-Funktion
blatt['D20'] = '=MITTELWERT(D2:D19)'

Dies gilt für ALLE Berechnungen - Summen, Prozentsätze, Verhältnisse, Differenzen usw. Die Tabelle sollte neu berechnen können, wenn sich die Quelldaten ändern.

Allgemeiner Workflow

  1. Tool auswählen: pandas für Daten, openpyxl für Formeln/Formatierung
  2. Erstellen/Laden: Neue Arbeitsmappe erstellen oder vorhandene Datei laden
  3. Ändern: Daten, Formeln und Formatierung hinzufügen/bearbeiten
  4. Speichern: In Datei schreiben
  5. Formeln neu berechnen (PFLICHT, WENN FORMELN VERWENDET WERDEN): Skript recalc.py verwenden
    python recalc.py ausgabe.xlsx
    
  6. Fehler überprüfen und beheben:
    • Das Skript gibt JSON mit Fehlerdetails zurück
    • Wenn status errors_found ist, error_summary auf spezifische Fehlertypen und -orte prüfen
    • Die identifizierten Fehler beheben und erneut berechnen
    • Häufige zu behebende Fehler:
      • #REF!: Ungültige Zellbezüge
      • #DIV/0!: Division durch Null
      • #VALUE!: Falscher Datentyp in Formel
      • #NAME?: Unbekannter Formelname

Neue Excel-Dateien erstellen

# openpyxl für Formeln und Formatierung verwenden
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment

wb = Workbook()
blatt = wb.active

# Daten hinzufügen
blatt['A1'] = 'Hallo'
blatt['B1'] = 'Welt'
blatt.append(['Zeile', 'von', 'Daten'])

# Formel hinzufügen
blatt['B2'] = '=SUMME(A1:A10)'

# Formatierung
blatt['A1'].font = Font(bold=True, color='FF0000')
blatt['A1'].fill = PatternFill('solid', start_color='FFFF00')
blatt['A1'].alignment = Alignment(horizontal='center')

# Spaltenbreite
blatt.column_dimensions['A'].width = 20

wb.save('ausgabe.xlsx')

Vorhandene Excel-Dateien bearbeiten

# openpyxl verwenden, um Formeln und Formatierung zu erhalten
from openpyxl import load_workbook

# Vorhandene Datei laden
wb = load_workbook('vorhanden.xlsx')
blatt = wb.active  # oder wb['BlattName'] für ein bestimmtes Blatt

# Mit mehreren Blättern arbeiten
for blatt_name in wb.sheetnames:
    blatt = wb[blatt_name]
    print(f"Blatt: {blatt_name}")

# Zellen ändern
blatt['A1'] = 'Neuer Wert'
blatt.insert_rows(2)  # Zeile an Position 2 einfügen
blatt.delete_cols(3)  # Spalte 3 löschen

# Neues Blatt hinzufügen
neues_blatt = wb.create_sheet('NeuesBlatt')
neues_blatt['A1'] = 'Daten'

wb.save('modifiziert.xlsx')

Formeln neu berechnen

Excel-Dateien, die mit openpyxl erstellt oder geändert wurden, enthalten Formeln als Zeichenfolgen, aber keine berechneten Werte. Verwenden Sie das bereitgestellte Skript recalc.py, um Formeln neu zu berechnen:

python recalc.py <excel_datei> [zeitlimit_sekunden]

Beispiel:

python recalc.py ausgabe.xlsx 30

Das Skript:

  • Richtet beim ersten Lauf automatisch das LibreOffice-Makro ein
  • Berechnet alle Formeln in allen Blättern neu
  • Durchsucht ALLE Zellen nach Excel-Fehlern (#REF!, #DIV/0! usw.)
  • Gibt JSON mit detaillierten Fehlerorten und -anzahlen zurück
  • Funktioniert sowohl unter Linux als auch unter macOS

Checkliste zur Formelüberprüfung

Schnelle Prüfungen, um sicherzustellen, dass Formeln korrekt funktionieren:

Wesentliche Überprüfung

  • 2-3 Beispielbezüge testen: Vor dem Erstellen des gesamten Modells prüfen, ob sie die richtigen Werte abrufen
  • Spaltenzuordnung: Bestätigen, dass Excel-Spalten übereinstimmen (z. B. Spalte 64 = BL, nicht BK)
  • Zeilenversatz: Beachten, dass Excel-Zeilen 1-basiert sind (DataFrame Zeile 5 = Excel Zeile 6)

Häufige Fallstricke

  • NaN-Behandlung: Auf Nullwerte mit pd.notna() prüfen
  • Weit rechts liegende Spalten: Geschäftsjahresdaten oft in Spalten 50+
  • Mehrere Übereinstimmungen: Alle Vorkommen durchsuchen, nicht nur das erste
  • Division durch Null: Nenner vor Verwendung von / in Formeln prüfen (#DIV/0!)
  • Falsche Bezüge: Sicherstellen, dass alle Zellbezüge auf die beabsichtigten Zellen zeigen (#REF!)
  • Blattübergreifende Bezüge: Korrektes Format (Blatt1!A1) für die Verknüpfung von Blättern verwenden

Strategie zum Testen von Formeln

  • Klein anfangen: Formeln erst an 2-3 Zellen testen, bevor sie breit angewendet werden
  • Abhängigkeiten prüfen: Sicherstellen, dass alle in Formeln referenzierten Zellen existieren
  • Grenzfälle testen: Null-, negative und sehr große Werte einbeziehen

Ausgabe von recalc.py interpretieren

Das Skript gibt JSON mit Fehlerdetails zurück:

{
  "status": "success",           // oder "errors_found"
  "total_errors": 0,              // Gesamtzahl der Fehler
  "total_formulas": 42,           // Anzahl der Formeln in der Datei
  "error_summary": {              // Nur vorhanden, wenn Fehler gefunden
    "#REF!": {
      "count": 2,
      "locations": ["Tabelle1!B5", "Tabelle1!C10"]
    }
  }
}

Best Practices

Bibliotheksauswahl

  • pandas: Am besten geeignet für Datenanalyse, Massenoperationen und einfachen Datenexport
  • openpyxl: Am besten geeignet für komplexe Formatierung, Formeln und Excel-spezifische Funktionen

Arbeiten mit openpyxl

  • Zellenindizes sind 1-basiert (row=1, column=1 bezieht sich auf Zelle A1)
  • data_only=True verwenden, um berechnete Werte zu lesen: load_workbook('datei.xlsx', data_only=True)
  • Warnung: Wenn mit data_only=True geöffnet und gespeichert wird, werden Formeln durch Werte ersetzt und gehen dauerhaft verloren
  • Für große Dateien: read_only=True zum Lesen oder write_only=True zum Schreiben verwenden
  • Formeln bleiben erhalten, werden aber nicht ausgewertet - verwenden Sie recalc.py, um Werte zu aktualisieren

Arbeiten mit pandas

  • Datentypen angeben, um Inferenzprobleme zu vermeiden: pd.read_excel('datei.xlsx', dtype={'id': str})
  • Für große Dateien bestimmte Spalten lesen: pd.read_excel('datei.xlsx', usecols=['A', 'C', 'E'])
  • Daten korrekt behandeln: pd.read_excel('datei.xlsx', parse_dates=['datums_spalte'])

Richtlinien zum Code-Stil

WICHTIG: Beim Generieren von Python-Code für Excel-Operationen:

  • Minimalen, prägnanten Python-Code ohne unnötige Kommentare schreiben
  • Ausführliche Variablennamen und redundante Operationen vermeiden
  • Unnötige print-Anweisungen vermeiden

Für Excel-Dateien selbst:

  • Kommentare zu Zellen mit komplexen Formeln oder wichtigen Annahmen hinzufügen
  • Datenquellen für fest codierte Werte dokumentieren
  • Hinweise für wichtige Berechnungen und Modellabschnitte einfügen

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ably-automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

abstract-automation

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

abuselpdb-automation

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

abyssale-automation

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

accelo-automation

Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.

accredible-certificates-automation

Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.

acculynx-automation

Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.

active-campaign-automation

Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.

addresszen-automation

Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.

adobe-automation

Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.

adrapid-automation

Automate Adrapid tasks via Rube MCP (Composio). Always search tools first for current schemas.

adyntel-automation

Automate Adyntel tasks via Rube MCP (Composio). Always search tools first for current schemas.

aeroleads-automation

Automate Aeroleads tasks via Rube MCP (Composio). Always search tools first for current schemas.

aero-workflow-automation

Automate Aero Workflow tasks via Rube MCP (Composio). Always search tools first for current schemas.

affinda-automation

Automate Affinda tasks via Rube MCP (Composio). Always search tools first for current schemas.

affinity-automation

Automate Affinity tasks via Rube MCP (Composio). Always search tools first for current schemas.

agencyzoom-automation

Automate Agencyzoom tasks via Rube MCP (Composio). Always search tools first for current schemas.

agent-mail-automation

Automate Agent Mail tasks via Rube MCP (Composio). Always search tools first for current schemas.

agentql-automation

Automate Agentql tasks via Rube MCP (Composio). Always search tools first for current schemas.

agenty-automation

Automate Agenty tasks via Rube MCP (Composio). Always search tools first for current schemas.

Verwandte Skills