Я пытаюсь обновить формулы в существующем Excel, который имеет данные и таблицы, но я не смогу обновить формулы, чтобы они обновляли данные, например: < /p>
Хорошо, так как я получаю некоторые ответы, но не то, чего я пытаюсь достичь, я попробую получить больше контекста здесь: < /p>
Я пытаюсь сделать уникальный список из таблицы, как: < /p>
Я пытаюсь сделать уникальный список из таблицы: < /p> < /p>
, чтобы сделать уникальный список из таблицы: < /p> < /p>
.=UNIQUE(Table1[Names])
< /code>
, а затем я бы использовал эти данные для списка проверки. Это означает, что я бы создал один DV для имен в уникальной формуле. Допустим, я помещаю формулу в C1. Столбцы A и B являются именами и возрастом: < /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>
Тогда я хочу использовать выбор выпадающего (DV) в другой формуле, которая проверит выбор: < /p>
=VSTACK("", UNIQUE(FILTER(Table1[Age], Table1[Names]=D1)))
< /code>
Логика будет так, но формулы гораздо сложнее. < /p>
Полный код: < /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>
Есть ли способ сделать это с каким -то другим модулем, а не OpenPyxl? После openpyxl большая часть работы с Excel?>
Подробнее здесь: https://stackoverflow.com/questions/795 ... ing-python
Обновление формул в Excel с помощью Python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение