Excel(エクセル)で関数の前につく「_xlfn.」って何?|「_xlfn.IFS」や「_xlfn.IFERROR」を解決する

スポンサーリンク
スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 365

人からもらったエクセルファイルを開くと、目にしたことが無い関数が・・・。

「ん?」目にしたことが無いというより、関数の前に何か余計なもの(_xlfn.)が付いている雰囲気。

最初に答えを言ってしまうと、この「_xlfn.」は、そのファイルで使用されている関数が、今開いているエクセルのバージョンに対応していない時に表示(追加)される接頭語です。

 

最新バージョンのExcelを使用していれば表示されないはずにゃ

スポンサーリンク

「_xlfn.」への対処方法

対処方法としては、

  1. その関数に対応したバージョンのExcelでファイルを開きなおす
  2. 関数を置き換える
  3. 気にしない

この3つになります。

1、その関数に対応したバージョンのExcelでファイルを開きなおす

最新のExcelでファイルを開きなおせば、「_xlfn.」という接頭語は削除され、そのファイルが作成された時の状態に関数が戻ります。

しかし、そもそも最新のバージョンがインストールされているPCがあったら、そちらを使用していますよね・・・。

2、関数を置き換える

通常は、対応する関数に置き換えるのがベストな方法でしょう。

例えば、IFS関数が使用されていたら関数をIF関数に置き換えて引数を入れなおすことになります。

下の表はエクセル2016で、「点数」に応じて「成績」の列にコメントをIFS関数で表示したものをエクセル2007で開いたものです。

関数は下のようになっています。

=_xlfn.IFS(D3>=250,”とてもよくできました”,D3>=200,”よくできました”,D3>=150,”ふつうです”,TRUE,”がんばりましょう”)

IFS関数は、エクセル2007では存在していないので「IFS」の前に「_xlfn.」が付いています。

これをエクセル2007でも使用できるIF関数に修正すると、

=IF(D3>=250,”とてもよくできました”,IF(D3>=200,”よくできました”,IF(D3>=150,”ふつうです”,”がんばりましょう”)))

となります。

このように、関数を自分で修正するのが1番の方法です。「_xlfn.」の後ろの関数名を確認して、

その関数の内容を調べて、自分が使用しているバージョンの関数に変更しましょう。

 

普段使用しない関数の場合は調べるのが大変ですが、関数によっては単に名前が変更になっただけのものもあります。その場合は、関数名を変更するだけなので楽ですよ。

3、気にしない

その場で確認するだけならば、気にせずそのままにしておくという方法もありますが、おすすめできません。

例えば、先ほどのIFS関数ですが、「_xlfn.」が付いた状態でも、特に問題なく関数結果が表示されています。

しかし、ちょっと数式バーの関数をクリックしただけで、下のようにエラーが表示されてしまいます。

やはり、ちゃんと修正すべきですね。

スポンサーリンク

まとめ

バージョンアップにより、関数が追加されたり関数の名称が変わることは少なくありません。

しかし、その中には、あまり使用されない関数もあります。

遭遇するのはタイトルにも書きましたが、2016から追加された「IFS関数」や2007から追加された「IFERROR関数」ではないでしょうか。

そのまま使用するファイルであれば、あわてず関数内容を調べて、自分が使用しているバージョンのエクセルに合わせた関数に修正しましょう。

 

いつも最新バージョンを使っていれば良いんだろうけど、そうもいかないにゃ・・・