Excel #NAME?使用PowerShell插入公式时出错

时间:2017-06-20 11:20:16

标签: excel powershell

如果我使用PowerShell在Excel工作表中插入以下公式:

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

单元格显示错误值#NAME?而不是计算值。

但是,如果我转到单元格,请按F2(编辑公式)并按Enter键,然后显示计算出的值没有任何错误。

对此有何想法?我有什么遗失的东西吗?

2 个答案:

答案 0 :(得分: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)))"

答案 1 :(得分:0)

我遇到了同样的问题,this post 帮我找到了解决方案。

添加“_xlfn”。在每个 Excel 函数语句的前面为我修复了 #NAME 错误,例如:

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