2012年4月26日木曜日

PHPExcelで使えない数式

PHPExcel(バージョンはちょっと古い1.7.4)でExcel5形式でExcelを書きだす時に、セルに書いても空白になってしまう(罫線すら付かない...)計算式(formula)のメモ。

下記の数式をPHPExcelで使おうとすると、セルに何も出力されないので注意。


SUFIFS()
Excel2007からの数式なので仕方ないんだろう。


SUMPRODUCT()
下記のようにSUMIFSの代わりに使おうとすると空白になる。

=SUMPRODUCT((A1:A5='hoge')*(B1:B5='hage'),C1:C5)


SUMIF()
下記のように条件のところを他のセル値の参照にすると空白になる。
=SUMIF(A1:A5,B1,C1:C5)


空白になるのは、PHPExcelの内部的には数式のパースエラー時にExceptionを投げてて、それをcatchしてそのまま処理を続行してるからみたい。


(おまけ)
&が使えない
「=A1&"@"&B1」と書いたら「=A1」と出力される。
対策としては、下記のようにCONCATENATE()を使えばOK。
=CONCATENATE(A1,"@",B1)

0 件のコメント:

ブログ アーカイブ

tags