Excel関数の互換性について

投稿者: | 2019年2月1日

「TEXTJOIN関数、CONCATENATE関数、CONCAT関数、&(アンパサンド)の文字列結合の違い」と題して2019年1月31日書いたが、Excel 2013以前のバージョンでファイルを開いたらどのようになるのか検証したので書きます。

現在メインで使用しているのはMicrosoft Office 365 Businessのバージョン 1808(ビルド0730.20264)です。以前はExcel 2016と表記していたように思いますが、現在はOffice 365 Excelになっています。

今回検証で使用したのは、Microsoft Office Professional 2010のExcelでバージョン14.0.7224.5000(64ビット)とMicrosoft Office 365 Businessのバージョン 15.0.5093.1001(ビルド0730.20264)Excel 2013です。

Office 365 Excelで作成したファイルをExcel 2010とExcel 2013で開いてみました。

 

図1 CONCAT関数が入力されているシートを開いたところです。セルF3の表示は正しくされていますが、数式バーの数式が =_xlfn.CONCAT(B3,C3,D3,E3)となっています。
CONCAT関数の先頭にある _xlfn. は何でしょうか。

concat-fan01c_excel2013

※_xlfn. マイクロソフトの情報によるとプレフィックス(接頭辞) が表示されるのは、

Excel ブックには、現在実行されている Excel のバージョンでサポートされていない機能が含まれてい

る時

になるようです。詳細は下記のリンク先を参照してください。

図2 セルF3をコピーしてセルF4に数式貼り付けをしたら#NAME?エラーが表示されました。
これは数式の関数がないことを表します。
concat02

図3 セルF3の数式を数式バーで =_xlfn.CONCAT(B3,C3,D3,E3) から =CONCAT(B3,C3,D3,E3)と修正してEnterキーを押しました。
#NAME?エラーを表示しています。
concat03

作成したOffice 365 Excelでブックを開くと数式から_xlfn.は消え、正しく表示されます(図4)。

図4 数式バーの数式はCONCAT関数になっています。

concat01

TEXTJOIN関数も同じ現象

図5 数式バーの数式は、=_xlfn.TEXTJOIN(“”,TRUE,B#.C3,D3,E3) となっています。
この数式をコピーしたり、このTEXTJOIN関数を使って数式を入力すると、”#NAME?エラーが表示されます。
textjoin01

CONCATNATE関数はどうか

図6 正常に数式が入力されています。

concatenate01

図7 数式を入力する際[数式オートコンプリート]機能が有効だと、関数の文字を入力するときに図7ような関数と説明が表示されますが、Excel 2013ではCONCAT関数は表示されていません。

concatenate_fanc

図8 Excel 2010でも同じ表示になります。
excel2010でopen

 

新しい関数を使わない方がいいのか

個人的にはNOです。使うべきです。

Microsoft Exceは、2019年1月22日にOffice 2019が発売され Excel 2019になりました。

しかし、 Office 365のExcelは半期ごとに機能強化が行われており、関数も少しずつ増えています。

新しい関数が出るたびに使い方を勉強していますが、作業が効率的になることもしばしばです。

最近ではIFS関数、SUMIFS関数、COUNTIFS関数の恩恵にあずかっています(Excel 2016で使えるようになってから重宝しています)。

一方でMicrosoft社のサポート終了という課題があります。来年2020年1月14日にはOffice 2010がその対象になります。

サポートが終了したから使えなくなるわけではありません。機能強化や不具合修正のサービスがないだけでなく、セキュリティー対策のプログラム配布がなくなる事が困るのです

重要と思っていない方が多いと思いますが、Excel 95やExcel 98、Excel 2000のころマクロウィルスが大発生し業務がストップした苦い経験があります。今のように情報を盗んだり、脅迫するようなものではなかったですが、作成したファイルが使えなくなり、LANにつながっているPCが次々の感染してく状況は業務妨害そのものでした。

すでにOffice 2003やOffice 2007などはサポート終了していますが、企業や個人では今もって使用しているのではないでしょうか。

Officeが無料のアプリケーションでないこともあり、またそれなりの価格であることもあり、切り替えることは容易ではありません。

メーカーのアプリケーションを使っている限り、割り切りが必要だと思います。経費が掛かるからと先延ばしにすることは得策ではありません。

ちなみに、無料のLibreOfficeのような互換ソフトを使うという方法もあります。

 

<おせっかい>

数式オートコンプリート機能のオン・オフ設定は、[ファイル]ー[オプション]をクリックし、[Excelのオプション]画面の[数式]ー[数式の処理]で行います。

 

Microsoftの情報

問題点: 数式の前に _xlfn. という接頭辞が表示される

https://support.office.com/ja-jp/article/%E5%95%8F%E9%A1%8C%E7%82%B9-%E6%95%B0%E5%BC%8F%E3%81%AE%E5%89%8D%E3%81%AB-xlfn-%E3%81%A8%E3%81%84%E3%81%86%E6%8E%A5%E9%A0%AD%E8%BE%9E%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%82%8B-882f1ef7-68fb-4fcd-8d54-9fbb77fd5025

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

9 + 20 =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください