2017-06-20 67 views
0
插入式

如果我插入在Excel工作表使用PowerShell以下公式:Excel#名稱?錯誤,當使用PowerShell

$worksheet.Cells.Item(2,3).Formula = "=DATEVALUE(SUBSTITUTE(LEFT(B2;FIND("" "";B2)-1); "".""; ""-""))" 

單元格顯示錯誤值#NAME?代替的計算值。但是,如果我進入單元格,請按F2(編輯公式),然後按Enter鍵,然後計算出的值不會出現任何錯誤。

對此有何想法?有什麼我失蹤了嗎?

回答

0

請使用以下命令嘗試此操作。

$worksheet.Cells.Item(2,3).Formula = "=DATEVALUE(SUBSTITUTE(LEFT(B2;FIND($([char]34) $([char]34);B2)-1); $([char]34).$([char]34); $([char]34)-$([char]34)))" 
+0

如果將char保存在一個小變量中,或者甚至只是引用本身,因爲它們在功能上應該是相同的,會不會更容易讀取?或者只是用單引號包裝,因爲沒有變量。 – Matt

+0

嗨,謝謝@Karpak。但是這並不能解決問題。我不認爲這是一個逃避報價的問題。通過將字符串包裝在單引號中也不起作用。名字?錯誤值仍然存在。我認爲這是Excel中的一個錯誤,因爲即使按F9重新計算也不起作用。但在單元格上按F2 + ENTER會顯示結果值(因此公式中也沒有語法錯誤)。 – user2641103