PHPExcel-从公式中剥离的列范围

PHPExcel-从公式中剥离的列范围,php,phpexcel,formulas,Php,Phpexcel,Formulas,我试图插入一个“COUNTIFS”公式,我知道它不是一个受支持的函数,但我已经在编写器上关闭了计算设置。它没有抛出任何错误。但是, $active_sheet->setCellValue('C3', "=COUNTIFS('INVENTORY'!$H:$H,1,'INVENTORY'!$C:$C,\"ADMIN\",'INVENTORY'!$N:$N,1)"); 正在将写入文件作为 COUNTIFS('INVENTORY'!:,1,'INVENTORY'!:,"ADMI

我试图插入一个“COUNTIFS”公式,我知道它不是一个受支持的函数,但我已经在编写器上关闭了计算设置。它没有抛出任何错误。但是,

$active_sheet->setCellValue('C3', "=COUNTIFS('INVENTORY'!$H:$H,1,'INVENTORY'!$C:$C,\"ADMIN\",'INVENTORY'!$N:$N,1)");
正在将写入文件作为

COUNTIFS('INVENTORY'!:,1,'INVENTORY'!:,"ADMIN",'INVENTORY'!:,1)

我在另一页的某个地方读到,类似这样的引用列也不受支持,但我也尝试将它们放在“$C2:$C3000”中,但没有任何帮助

问题在于,您在第二个参数周围使用了双引号。PHP试图用实际变量替换$H、$C和$N

尝试使用单引号并转义字符串中现有的单引号


PHP解析双引号字符串的文档可能会有所帮助。

PHPExcel此时不支持列和行范围:您需要提供实际范围(例如,
'INVENTORY'!$H1:$H500
,而不是简单的
'INVENTORY'!$H:$H


在工作表中插入或删除新行或新列时,如果工作表没有正确调整现有公式以反映该更改,也存在一些已知问题。这些问题已在github上的最新开发分支代码中修复,因此您可能希望使用该代码重试。

因此解决方案是删除或转义现有公式美元符号($)。我去掉了它们,它工作得很好,然后我逃掉了,它也工作了

结果示例行:

$active_sheet->setCellValue('C3', "=COUNTIFS('INVENTORY'!\$H:\$H,1,'INVENTORY'!\$C:\$C,\"ADMIN\",'INVENTORY'!\$N:\$N,1)");

编辑:哇,没有错。归功于伊恩·贝尔彻。

我尝试了替代范围(在我的问题中提到过),但没有任何帮助。我只是尝试了最新的开发版本以及1.8 rc1,两者都有相同的结果:(我甚至根据你对错误的评论,尝试将countifs公式的插入移到文件的最后,这也没有任何区别。哇,这是一个错误。我一开始没有把你的问题读清楚,即使我自己弄明白了,我仍然没有处理你说的话。再次访问我被它击中了。