Aktualisieren Sie die Formeln in Excel mit PythonPython

Python-Programme
Anonymous
 Aktualisieren Sie die Formeln in Excel mit Python

Post by Anonymous »

Ich versuche, Formeln in einem vorhandenen Excel mit Daten und Tabellen zu aktualisieren, aber ich kann die Formeln nicht aktualisieren, damit sie die Daten zum Beispiel aktualisieren: < /p>
Okay, da ich einige Antworten bekomme, aber nicht genau das, was ich erreichen möchte, versuche ich hier mehr Kontext zu erhalten: < /p>
Ich werde versuchen, eine eindeutige Liste zu erstellen, wie ein einzigartiges Listen -Like -Like so: < /p>
Ich werde versuchen, eine eindeutige Liste zu erstellen, wie ein einzigartiger Like -Like so: < /p>
Ich werde versuchen, eine einzigartige Liste zu erstellen.=UNIQUE(Table1[Names])
< /code>
Und dann würde ich diese Daten für eine Validierungsliste verwenden. Dies bedeutet, dass ich einen DV für die Namen in eindeutigen Formel erstellen würde. Nehmen wir an, ich platziere die Formel in C1. Spalten A und B sind Namen und Alter: < /p>
dropdown_range = "'Data'!C1#"
dv = DataValidation(type="list", formula1=dropdown_range, showDropDown=False)
target_sheet.add_data_validation(dv)
dv.add(target_sheet['D1'])
< /code>
Dann möchte ich die Auswahl der Dropdown (DV) in einer anderen Formel verwenden, die die Auswahl überprüfen würde: < /p>
=VSTACK("", UNIQUE(FILTER(Table1[Age], Table1[Names]=D1)))
< /code>
Die Logik wäre diese, aber die Formeln sind viel komplexer. < /p>
Der vollständige Code: < /p>
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
from openpyxl.worksheet.table import Table, TableStyleInfo

wb = Workbook()
ws = wb.active

data = [
["Names", "Age"],
["Alice", 30],
["Bob", 25],
["Charlie", 35],
["Alice", 30],
["David", 40],
["Bob", 25],
]

for row in data:
ws.append(row)

table_range = f"A1:B{len(data)}"
table = Table(displayName="Table1", ref=table_range)

style = TableStyleInfo(name="TableStyleMedium9", showFirstColumn=True, showRowStripes=True, showColumnStripes=True)
table.tableStyleInfo = style

ws.add_table(table)

ws["C1"] = "=UNIQUE(Table1[Names])"

dropdown_range = "'Sheet'!C1#"
dv = DataValidation(type="list", formula1=dropdown_range, showDropDown=True)
ws.add_data_validation(dv)

dv.add(ws["D1"])

ws["E1"] = "=VSTACK(\"\", UNIQUE(FILTER(Table1[Age], Table1[Names]=D1)))"

file_path = 'example_with_dropdown.xlsx'
wb.save(file_path)
< /code>
Gibt es eine Möglichkeit, dies mit einem anderen Modul anstelle von openPyxl zu erledigen? Nach OpenPyxl hat der Großteil der Arbeit mit dem Excel?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post