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?>
Aktualisieren Sie die Formeln in Excel mit Python ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post