2016-05-19 118 views
0

PHPExcelで "AVERAGEIF"機能を実現しようとしましたが、この仕事を行うことができません(Excelは常に:読み込み不能/破損ファイル)。 結果があること、 "すべきである":PHPExcelと関数AVERAGEIF

setCell('AG1','=AVERAGEIF(B1:AF1;">0")') 

PHPExcelは文句はありませんが、Excelがそれを開くことができません。私は既にクォーテーションマーク付きの多くのバージョンを試しましたが、コンマやセミコロンで式の引用符をエスケープしました。何も動作していないようです。 誰もが以前にこの問題を抱えていて、それを解決する方法を知っていますか?

ありがとうございます! クリストフ

+0

ファイルを開いてみてくださいする必要がありますメモ帳で、どのエラーがスローされているかを確認してください... – Naruto

+0

このスプレッドシートファイルを保存するためにどの作家を使用していますか? –

答えて

0

あなたは計算エンジンのロケールを設定した場合を除き、PHPExcelは、Excelの数式関数の引数に,セパレーターを必要ない;ので

setCell('AG1','=AVERAGEIF(B1:AF1;">0")') 

setCell('AG1','=AVERAGEIF(B1:AF1,">0")') 
+0

はい、私はすでにコンマを使用していますが、Excelは "その矛盾"とは言いませんが、数式は次のように変わります:AVERAGEIF(B1:AF1、 "> 0") - 明らかにその文字列をエスケープしました。 –

+0

あなたはどの作家を使っていますか?私はこれを今朝テストしました.Xlsファイルの中核機能ではないため、Excel2007用のExcel5ライターはそれを破棄していますが、Excel2007で動作します。しかし、HTML Writerを使用している場合を除き、PHPExcelはHTMLエンティティに文字列をエスケープしません –

+0

あなたは絶対に正しいです - それは非常に最後の文字列をエスケープしたものです。ありがとう! –