[英]Xlwings is not writing the correct formula to excel causing an error in the value
我正在嘗試使用 Xlwings 編寫腳本,並且我有一個公式需要插入到列中。 我寫了一個代表公式的字符串並且是正確的,因為當我打印字符串並將其輸入 excel 時,公式有效。 但是,當我使用以下命令在 xlwings 中調用它時:
formulaColumnN = "= IF(INDEX('ZOR-ZCCK'!E:E,MATCH(E2&F2&H2&I2,'ZOR-ZCCK'!E:E&'ZOR-ZCCK'!F:F&'ZOR-ZCCK'!H:H&'ZOR-ZCCK'!I:I,0)-1)=\"TAPA\",INDEX('ZOR-ZCCK'!M:M,MATCH(E2&F2&H2&I2,'ZOR-ZCCK'!E:E&'ZOR-ZCCK'!F:F&'ZOR-ZCCK'!H:H&'ZOR-ZCCK'!I:I,0)-1),INDEX('ZOR-ZCCK'!M:M,MATCH(E2&F2&H2&I2,'ZOR-ZCCK'!E:E&'ZOR-ZCCK'!F:F&'ZOR-ZCCK'!H:H&'ZOR-ZCCK'!I:I,0)))"
sheet3.range("N2").formula = formulaColumnN
當我查看單元格中的內容時,它實際上不起作用,我得到了這個:
=@ IF(@INDEX('ZOR-ZCCK'!E:E,MATCH(E2&F2&H2&I2,@'ZOR-ZCCK'!E:E&@'ZOR-ZCCK'!F:F&@'ZOR-ZCCK'!H:H&@'ZOR-ZCCK'!I:I,0)-1)="TAPA",INDEX('ZOR-ZCCK'!M:M,MATCH(E2&F2&H2&I2,@'ZOR-ZCCK'!E:E&@'ZOR-ZCCK'!F:F&@'ZOR-ZCCK'!H:H&@'ZOR-ZCCK'!I:I,0)-1),INDEX('ZOR-ZCCK'!M:M,MATCH(E2&F2&H2&I2,@'ZOR-ZCCK'!E:E&@'ZOR-ZCCK'!F:F&@'ZOR-ZCCK'!H:H&@'ZOR-ZCCK'!I:I,0)))
我不知道為什么要添加 @ 符號,如果我刪除它們,公式就會起作用。 請讓我知道是否有人知道為什么會發生這種情況,它從未在 xlwings 中的任何其他公式上這樣做過。
相反,如果有人知道如何在 Pandas 中轉換此公式,因為我嘗試過但一直在努力弄清楚。
如果您改為使用sheet3.range("N3").formula2 =
那么您應該沒有問題(而不僅僅是.formula
。
我沒有深入研究這些差異,我只知道這可以解決問題,但是如果您想閱讀它,可以在此處找到解釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.