使用Powershell插入复杂的Excel公式

时间:2015-10-12 16:59:18

标签: excel powershell excel-formula

以下是原始文章:link.

现在我的问题:

使用.formula,我可以走得很远,但我有一个非常复杂的公式,它不想工作。

在Excel中运行的代码:

=IF(ISBLANK(G2),"",VLOOKUP("*"&LEFT(G2,9)&"*",'\\compname\path\to\excel\[ramdata.xlsx]20151009'!A:B,2,FALSE))

在Powershell中无效的代码:

$ws.Cells.Item($intRow,9).Formula = '=VLOOKUP("*"$([char]38)LEFT(G$intRow,5)$([char]38)"*",'\\compname\path\to\excel\[ramdata.xlsx]20151009'!A:B,2,FALSE)'

运行powershell脚本后,我插入公式的单元格为空白。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我非常亲密,需要寻求帮助才能找到答案!

$ws.Cells.Item($intRow,9).Formula = "=IF(ISBLANK(G$intRowMem),$([char]34)$([char]34),VLOOKUP($([char]34)*$([char]34)&LEFT(G$intRowMem,5)&$([char]34)*$([char]34),'\\compname\path\to\excel\[ramdata.xlsx]20151009'!A:B,2,FALSE))"

回答您自己的问题并将答案标记为答案是否合乎道德?

修改

Per @TheMadTechnician,这也可以解决为:

$ws.Cells.Item($intRow,9).Formula = "=IF(ISBLANK(G$intRowMem),`"`",VLOOKUP(`"*`"&LEFT(G$intRowMem,5)&`"*`",'\\compname\path\to\excel\[ramdata.xlsx]20151009'!A:B,2,FALSE))"