Home
»
エクセル関数一覧表
»
Excel関数の目次
»
関数の前に _xlfn. と表示される
関数の前に _xlfn. と表示される:Excel関数
スポンサードリンク
関数の前に _xlfn. と表示される
Topへ
原因は表示されているExcelのバージョンではサポートされていない関数であることを示しています。
Excel2013で下図のように、Excel2013で新たに追加された関数ISFORMULAやFORMULATEXTを使ったファイルがあります。
このファイルをExcel2010で開いてみます。
C2セルの数式は =_xlfn.ISFORMULA(A2) と表示されています。
セルには 「TRUE」と表示されており、一見したら正しく機能しているように見えますが、編集して[F2]キーを押して[Enter]キーを押すと、 #NAME? と表示されます。
D2セルの数式は =_xlfn.FORMULATEXT(A2) と表示されています。
F2セルのIF関数を使った数式では =IF(_xlfn.ISFORMULA(A2),_xlfn.FORMULATEXT(A2),"数式では無い") とそれぞれの関数の前に _xlfn. が付いています。
では、この状態でExcel2010で上書き保存して、ファイルを閉じます。
新たに、Excel2013で開くと _xlfn. が付かない正常なものとして表示されます。
結論としては、_xlfn. が付いていることで、上位バージョンで作成された数式であるということが分かるようになっています。
よって、これらの関数を開いているバージョンで使用できる関数で置き換えるか、他の手段(マクロなど?)で対処することになると思います。
VBAのユーザー定義関数で処理した例です。Excel2010でほぼ同じように処理できました。
なお、VBAを使用しているので、このファイルは マクロ有効ブック xlsm で保存しなおす必要があります。
使用したコードは下表のようなものです。
Function myFn1(c As Range) As Boolean
myFn1 = c.HasFormula
End Function
Function myFn2(c As Range) As String
myFn2 = c.Formula
End Function
スポンサードリンク
よねさんのWordとExcelの小部屋
»
エクセル関数一覧表
» 関数の前に _xlfn. と表示される
PageViewCounter
Since2006/2/27