あるはずの関数が無い!「_xlfn.」が表示されるのはなぜ?

解説記事内の画像はExcel 2016と2013のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2019, 2016, 2013, 2010
  • Office 365
Office 365は、バージョン1908と、バージョン2002で動作確認しています。

スポンサーリンク

IFS関数が無い 【ケース1】
使おうと思った関数が一覧の中に無い!
(図ではIFS関数が一覧にありません。)
これは、使おうとした関数が登場する前のバージョンのExcelで操作しているから

関数の前に「_xlfn.」が付いている 【ケース2】
数式が入っているセルを選択して、数式の内容を確認してみたら、なぜか関数の前に「_xlfn.」という文字が付いている!
これは、新しいバージョンで登場した関数が設定された文書を、それよりも前のバージョンのExcelで開いた時に起こる現象

一見正常に見える数式 【ケース3】
ついさっきまでは数式の結果がちゃんと表示されていたのに、

エラーメッセージ その数式が関連しているデータを修正した瞬間、エラーメッセージが表示された!
これも、新しいバージョンで登場した関数が設定された文書を、それよりも前のバージョンのExcelで開いた時に起こる現象

【ケース2】や【ケース3】は、例えば、Office 365とExcel 2019で使えるIFS関数が設定された文書を、それよりも前のバージョンのExcel(図はExcel 2016)で開くと起きる現象です。

CONCAT関数の前に「_xlfn.」が付いている もちろん、【ケース2】や【ケース3】は、他の新しい関数でも同様で、例えば、Office 365とExcel 2019で使えるCONCAT関数が設定された文書を、それよりも前のバージョンのExcel(図はExcel 2013)で開くと、やはり同じ現象が起こります。

その新しい関数が登場する前のExcelからしてみたら、「未来に作られた未知のものが組み込まれとるー」といった気分ですよ。

スポンサーリンク

[解決法1]新しいOfficeを買う

もうこれが一番手っ取り早いです。
新しいOfficeを買えば、Excelのバージョンも新しくなるので、冒頭でご説明した現象も起きません。

[解決法2]別の関数で置き換える

IFS関数が無いバージョンのExcelで文書を開いた 例えば、Office 365とExcel 2019で使えるIFS関数が設定された文書を、それよりも前のバージョンのExcelでも問題なく使えるようにしたいなら、

IF関数の中にIF関数を入れ込む方法に替える IFS関数で処理している部分を、IF関数の中にIF関数を入れ込む方法で代替えします。

「&」で文字列を結合する方法で代用 また、他の例として、Office 365とExcel 2019で使えるCONCAT関数が設定された文書を、それよりも前のバージョンのExcelでも問題なく使えるようにしたいなら、関数ではなく、「&」で文字列を結合する方法で代替えします。

代替え案が思い浮かばないときは、「関数名 代用」や、「関数名 使えない」などのキーワードで調べてみると、代替え案を掲載してくださっているサイトさんがたくさんあるので、参考にさせてもらうと良いとです。

スポンサーリンク