簡體   English   中英

Xlwings 未將正確的公式寫入 excel 導致值錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM