python - पायथन में `xlsxwriter` में` write_formula`



excel-formula (1)

मैं एक्सेल xlsxwriter बनाने के लिए पायथन में xlsxwriter का प्रयोग कर रहा हूँ।

कोड पर विचार करें

import xlsxwriter

wb = xlsxwriter.Workbook('Book.xlsx')
ws = wb.add_worksheet('Sheet1')

data = (['Average Start Date','365'],['AAA','2'])

worksheet.add_table(1, 1, 4,4, {'data':data,'first_column':True,'style':'Table Style Light 1','autofilter': False,'columns':[{'header':'Attribute'},{'header':'Value'}]})


ws.write_formula('A4', '=IF(A3>1,"Yes", "No")')
ws.write_formula('A5', '=VLOOKUP("Average Start Date",Table1,2,FALSE)/365')

Excel के साथ xlsx फ़ाइल को खोलने के बाद सेल A4 प्रदर्शित करता है No , सूत्र को गणना की जाती है दूसरी ओर सेल A5 #NAME? दिखाता है #NAME?

यदि मैं सेल A5 चयन करता हूं, तो F2 दबाएं, जो सूत्र को संपादित करने के लिए है, और A5 में सूत्र को स्पष्ट रूप से संशोधित किए बिना एंटर दबाएं।

ऐसा क्यों है? जिस तरह से मैं A5 को सूत्र जोड़ रहा हूं इसमें कोई त्रुटि है? क्या उस सूत्र को स्वचालित रूप से गणना करने का कोई तरीका है?


यह एक XlsxWriter त्रुटि नहीं है, यह एक Excel त्रुटि है यदि आप फॉर्मूला मैन्युअल रूप से दर्ज करते हैं और वापसी को वापस करते हैं, तो आपको उसी परिणाम मिल जाएगा।

#NAME? त्रुटि इस तथ्य से उत्पन्न होती है कि सूत्र Table4 नामक एक डेटा श्रेणी को संदर्भित करता है जो मौजूद नहीं है।

साथ ही, आपके कोड स्निपेट में आपके पास वाक्यविन्यास त्रुटि है यह होना चाहिए:

ws = wb.add_worksheet('Sheet1')

# Or just
ws = wb.add_worksheet()

साथ ही, आपको कार्यक्रम के अंत में wb.close() जोड़ना चाहिए।

[संपादित करें] इस उत्तर के लेखक की टिप्पणी में उत्तर दें

ऐसा लगता है कि टेबल 1 को Table1[] में Table1[] रूप में लिखा जाना चाहिए, जैसे: =VLOOKUP("Average Start Date",Table1[],2,FALSE)/365') । इसे Table1 रूप में प्रदर्शित किया जाएगा





xlsxwriter