私は単純なテスト式= SUMIF(D8:D18,2、E8:E18)のセルC13を持っています。 D8-> D18 2 2を保持し、D8:D18の値はハードコードされ、他の式からは取り出されません。 E8-> E18の範囲はすべて1です。 excelでは正しい値は2です。しかし、次の単純なコードでPHPExcelを呼び出すと、PHPExcel SUMIFが誤った/計算されていない式を返します
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
PHPExcel_Calculation::getInstance($objPHPExcel)->clearCalculationCache();
$objReader = $objPHPExcel->setActiveSheetIndexByName("TestSumIf");
$value = $objPHPExcel->getActiveSheet()->getCell('C13')->getCalculatedValue();
= 0
式の値は= SUMIFである私は$値を取得する(D8:D18,2、E8:E18)
期待値は0
パーサスタックであります: - ([タイプ] =>セル参照[値] => D18 [参照] => D8)[1] => [型] =>バイナリ演算子[値] =>:[参照] =>)[3] =>配列([型] =>値[値] => D18) > 2 [参照] =>)[4] =セル参照[値] => E8 [参照] => E8)[5] =>配列([型] =>セル参照[値] => E18 [参照] => E18) SUMIF()のオペランド数[] =>配列([型] =>バイナリ演算子[値] =>:[参照] =>)[7] 3 [参照] =>)[8] =>アレイ([タイプ] =>関数[値] => SUMIF([参照] =>))
計算値が0
評価ログである。
これはなぜ起こっているのかについての洞察があります。私はSUMIFとの間違いはないはずだが、SUMIROだけでSUMIRODUCTとして書き直すことができると書いているが、私のケースではSUMIFが原因でエラーが発生している。