我將 DAY 變數用于字串公式的方法無法正常作業。這種在 SQL 查詢和檔案路徑中大量使用變數的方法,但是我不知道為什么現在不行。
通過將字串封裝在 """ --- """ 中解決
date = '09-13'
DAY = int(date[3:])
templateFormula = f'=SUMPRODUCT(SUMIF(INDIRECT("'"&'Ref Sheet'!$A$1:$A${DAY}&"'!$E$2:$E$150"),$D2,INDIRECT("'"&'Ref Sheet'!$A$1:$A${DAY}&"'!$K$2:$K$150")))'
print(templateFormula)
預期結果:
=SUMPRODUCT(SUMIF(INDIRECT("'"&'Ref Sheet'!$A$1:$A$13&"'!$E$2:$E$150"),$D2,INDIRECT("'"&'Ref Sheet'!$A$1:$A$13&"'!$K$2:$K$150")))
實際結果
=SUMPRODUCT(SUMIF(INDIRECT("'"&'Ref Sheet'!$A$1:$A${DAY}&"'!$E$2:$E$150"),$D2,INDIRECT("'"&'Ref Sheet'!$A$1:$A${DAY}&"'!$K$2:$K$150")))
以這種方式應用公式
for t, CELLObj in enumerate(WS['E'], 1):
if t > 1:
CELLObj.value = '=SUMPRODUCT(SUMIF(INDIRECT("'"&'Ref Sheet'!$A$1:$A${DAY}&"'!$E$2:$E$150"),$D{0},INDIRECT("'"&'Ref Sheet'!$A$1:$A${DAY}&"'!$K$2:$K$150")))'.format(t)
uj5u.com熱心網友回復:
嘗試format
在該字串上使用:
date = '09-13'
DAY = int(day[3:])
templateFormula = '=SUMPRODUCT(SUMIF(INDIRECT("'"&'Ref Sheet'!$A$1:$A${DAY}&"'!$E$2:$E$150"),$D2,INDIRECT("'"&'Ref Sheet'!$A$1:$A${DAY}&"'!$K$2:$K$150")))'.format(DAY)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/508012.html
上一篇:顯示串列中某些單詞的單元格位置但帶有空格的公式。-Excel
下一篇:從行和拆分日期中過濾不必要的文本