PHPExcelを使ってExcelを作成しています。
環境:PHP5.6 / PHPExcel1.8.0
テンプレートに(template.xltx)に以下の様にしてデータを入力し、order.xlsとして出力しています。
/* テンプレート追記 + 作成 */ $book = new PHPExcel(); $book->getProperties(); /* テンプレート指定 */ $book = PHPExcel_IOFactory::load('./template.xltx'); /* シート指定 */ $sheet = $book->getSheetByName('Sheet1'); $sheet->setCellValue('A1', 'Hellow'); $sheet->setCellValue('A2', 'World'); /* Excel生成 */ $writer = PHPExcel_IOFactory::createWriter($book, 'Excel5'); $writer->save('order.xls');
問題はA3に以下の関数を入れています。
=IF(COUNTIF(A1,"Hellow"),"OK","NG")
※関数はテンプレートのA3に入力済み
その為、実行した場合はExcel上に以下の様にデータが表示されるはずですが#VALUE!となってしまいます。
□実行結果
A1:Hellow
A2:World
A3:#VALUE!
□求める結果
A1:Hellow
A2:World
A3:OK
なぜ#VALUE!になるのか原因が分かりません。
原因、もしくは対応策などあればアドバイスいただけると助かります。
※Excelの生成をExcel2007で出力すると求める結果となりましたが、Excel2003で出力する必要があります。
※関数部分を=IF(COUNTIF(A1,""&"Hellow"&""),"OK","NG")と書き直したら、関数部分が消えるようになりました。
回答2件
あなたの回答
tips
プレビュー