【Excel】INFO関数でExcelの環境情報を取得!OSバージョンやディレクトリを数式で確認する方法

【Excel】INFO関数でExcelの環境情報を取得!OSバージョンやディレクトリを数式で確認する方法
🛡️ 超解決

Excelの数式で、現在利用しているExcelのバージョンやOSの情報、作業ディレクトリなどを取得したい場合があります。例えば、マクロの互換性を確認したり、特定の環境でのみ動作する処理を記述したりする際に役立ちます。しかし、これらの情報を取得するにはどのような関数を使えば良いか分からない方もいるでしょう。本記事では、Excelの環境情報を数式で取得できるINFO関数について、その使い方と具体的な活用例を解説します。

INFO関数は、Excelの実行環境に関する情報を取得できる便利な関数です。この関数を使うことで、数式だけでOSのバージョンやExcelのバージョン、使用しているオペレーティングシステム名などを確認できます。これにより、手作業での確認の手間を省き、より効率的に作業を進めることが可能になります。本記事を読めば、INFO関数を使ってExcelの環境情報を取得し、業務に活用できるようになります。

【要点】INFO関数でExcelの環境情報を取得する

  • INFO関数: Excelの実行環境に関する情報を数式で取得します。
  • 引数(種類): “OSVERSION”, “SYSTEM”, “NUM1”, “NUM2”, “DIRECTORY”, “PATH”, “RELEASE”, “VERSION” などの文字列を指定して取得する情報を切り替えます。
  • 活用例: OSバージョンに応じた処理の分岐や、ファイルパスの自動取得などに利用できます。

ADVERTISEMENT

INFO関数で取得できる環境情報

INFO関数は、Excelの実行環境に関する様々な情報を取得できます。取得できる情報は、引数として指定する文字列によって決まります。これにより、数式だけでOSのバージョンやExcelのバージョン、作業ディレクトリといった詳細な情報を確認することが可能です。

INFO関数で指定できる主な引数(種類)には、OSのバージョンを取得する”OSVERSION”、オペレーティングシステム名を取得する”SYSTEM”、Excelのバージョン情報を取得する”VERSION”などがあります。これらの引数を使い分けることで、目的に応じた環境情報を取得できます。以下に、INFO関数で利用できる主な引数とその説明をまとめます。

INFO関数の主な引数と説明

INFO関数は、引数に特定の文字列を指定することで、様々な環境情報を取得します。これらの文字列はExcelのバージョンによって一部異なる場合がありますが、一般的に使用されるものを以下に示します。

OSVERSION: 現在使用しているオペレーティングシステムのバージョン番号を返します。例えば、Windows 10であれば”10.0.19045″のような形式で返されます。これは、Excelが動作するOSの具体的なバージョンを把握するのに役立ちます。

SYSTEM: 現在使用しているオペレーティングシステムの名前を返します。Windows環境であれば”Windows”、macOS環境であれば”Macintosh”などが返されます。OSの種類を特定する際に使用します。

NUM1: Excelのバージョンに関する情報を返します。Excel 2007以降のバージョンでは、Excelのバージョン番号(例: “16.0”)が返されます。これは、Excelの機能が利用可能かどうかを判断するのに役立ちます。

NUM2: Excelのバージョンに関する別の情報を返します。Excel 2007以降では、Excelのビルド番号(例: “19045”)が返されることがあります。これは、より詳細なバージョン管理に利用できます。

DIRECTORY: 現在の作業ディレクトリのパスを返します。Excelファイルが保存されているフォルダや、Excelが一時ファイルを保存する場所などが返される場合があります。これは、ファイル操作に関連する処理で役立ちます。

PATH: Excelの実行ファイル(EXCEL.EXE)のパスを返します。Excelがどこにインストールされているかを確認する際に使用できます。ただし、この情報は環境によって異なる場合があります。

RELEASE: Excelのバージョンに関する情報を文字列で返します。例えば、”Microsoft Excel 2019″や”Microsoft Excel for Microsoft 365″のような形式で返されます。これは、Excelの製品名を把握するのに便利です。

VERSION: Excelのバージョン番号を文字列で返します。例えば、”16.0″のような形式で返されます。これは、NUM1と同様にExcelのバージョンを識別するために使用できます。

これらの引数をINFO関数に渡すことで、Excelの実行環境に関する様々な情報を数式で取得できます。例えば、セルA1に=INFO(“OSVERSION”)と入力すると、そのセルにOSのバージョンが表示されます。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

INFO関数を使った具体的な数式例

INFO関数は、引数に指定する文字列によって取得できる情報が異なります。ここでは、いくつかの代表的な引数を使った具体的な数式例を紹介します。これらの数式をExcelのセルに入力することで、実行環境の情報を取得できます。

OSバージョンとシステム名の取得

まず、OSのバージョンとシステム名を取得する数式です。これらの情報は、OS固有の機能を利用する際に、互換性を確認するために役立ちます。

  1. OSバージョンを取得する
    セルに以下の数式を入力します。
    =INFO(“OSVERSION”)
    これにより、現在使用しているOSのバージョン番号が表示されます。
  2. システム名を取得する
    セルに以下の数式を入力します。
    =INFO(“SYSTEM”)
    これにより、オペレーティングシステムの名前(例: “Windows”)が表示されます。

Excelのバージョンとリリース名の取得

次に、Excel自体のバージョンやリリース名を取得する数式です。Excelのバージョンによって利用できる機能が異なるため、互換性を確認する際に重要です。

  1. Excelのバージョン番号(数値)を取得する
    セルに以下の数式を入力します。
    =INFO(“NUM1”)
    Excel 2007以降では、”16.0″のような数値が返されます。
  2. Excelのバージョン番号(文字列)を取得する
    セルに以下の数式を入力します。
    =INFO(“VERSION”)
    こちらも “16.0” のような数値が返されます。
  3. Excelのリリース名を取得する
    セルに以下の数式を入力します。
    =INFO(“RELEASE”)
    “Microsoft Excel 2019” や “Microsoft Excel for Microsoft 365” のような製品名が返されます。

作業ディレクトリとパスの取得

最後に、作業ディレクトリやExcelの実行パスを取得する数式です。これらの情報は、ファイル操作やマクロのパス指定などで利用されることがあります。

  1. 現在の作業ディレクトリを取得する
    セルに以下の数式を入力します。
    =INFO(“DIRECTORY”)
    Excelファイルが保存されているフォルダのパスなどが返されます。
  2. Excelの実行パスを取得する
    セルに以下の数式を入力します。
    =INFO(“PATH”)
    Excel.exe のパスが返されます。

これらの数式を組み合わせることで、Excelの実行環境に関する様々な情報を効率的に取得し、活用することが可能になります。例えば、あるOSバージョン以上でないと利用できない関数がある場合、INFO関数でOSバージョンを確認してからIF関数で処理を分岐させるといった応用が考えられます。

INFO関数利用時の注意点と制限事項

INFO関数は非常に便利ですが、利用にあたってはいくつかの注意点と制限事項があります。これらの点を理解しておかないと、予期せぬ結果になったり、期待通りの情報が得られなかったりする可能性があります。

Excelのバージョンによる違い

INFO関数で取得できる情報や、引数として指定できる文字列は、Excelのバージョンによって若干異なる場合があります。特に古いバージョンのExcelでは、一部の引数がサポートされていなかったり、返される値の形式が異なったりすることがあります。

例えば、Microsoft 365版のExcelでは、より詳細なバージョン情報やビルド番号を取得できる可能性があります。一方、Excel 2007や2010などの古いバージョンでは、取得できる情報が限られることがあります。そのため、INFO関数を利用する際は、ご自身のExcelのバージョンを確認し、利用可能な引数を確認することが重要です。

一般的に、”OSVERSION”, “SYSTEM”, “RELEASE” といった引数は多くのバージョンで共通して利用できますが、”NUM1″, “NUM2”, “VERSION” など、バージョン番号に関連する引数は、Excelの世代によって返される数値の意味合いが変わることがあります。最新のExcelの機能を利用したい場合は、INFO(“VERSION”) や INFO(“NUM1”) の結果を元に、IF関数などを用いてバージョンチェックを行うのが一般的です。

取得できる情報の正確性

INFO関数が返す情報は、あくまでExcelが認識している実行環境の情報です。そのため、環境によっては期待通りの情報が返されない場合や、情報が最新でない可能性も考慮する必要があります。

例えば、”DIRECTORY” で返される作業ディレクトリは、Excelの設定や、ファイルを開いた際の状況によって変わることがあります。また、”PATH” で返されるExcelの実行パスも、インストール方法や環境変数によって異なる場合があります。これらの情報は、あくまで参考として利用するのが良いでしょう。

特に、OSのバージョン情報(“OSVERSION”)は、ExcelがOSから受け取った情報をそのまま表示しているため、OS自体のアップデート状況によっては、Excelが認識しているバージョンと実際のOSのバージョンにわずかな差異が生じる可能性もゼロではありません。しかし、多くの場合、数パーセントの差異であり、一般的な用途での互換性確認には十分な精度を持っています。

引数の大文字・小文字の区別

INFO関数に指定する引数(“OSVERSION” や “SYSTEM” など)は、一般的に大文字・小文字を区別しません。つまり、INFO(“osversion”) と INFO(“OSVERSION”) は同じ結果を返します。

しかし、Excelのバージョンや特定の環境によっては、意図しない動作を引き起こす可能性も否定できません。そのため、一貫性を保つために、一般的には大文字で記述することが推奨されます。これにより、コードの可読性が向上し、他のユーザーが数式を理解しやすくなります。

もし、大文字・小文字を区別して処理を行いたい場合は、UPPER関数やLOWER関数を組み合わせることで、引数を統一してからINFO関数に渡すことができます。例えば、=INFO(UPPER(“osversion”)) のように記述すれば、引数が小文字で入力されても正しく処理されます。

Excelの終了や再起動による影響

INFO関数は、Excelの実行環境に関する情報を取得しますが、Excelを一度終了して再度起動した場合、取得できる情報(特に作業ディレクトリなど)が変わる可能性があります。これは、Excelが起動するたびに、その時点での環境情報に基づいて情報を更新するためです。

例えば、Excelファイルを開くたびに作業ディレクトリが変わるような状況では、INFO(“DIRECTORY”) の結果もそれに合わせて変化します。これは、Excelの標準的な動作であり、INFO関数固有の問題ではありません。もし、固定されたパス情報が必要な場合は、INFO関数ではなく、直接パスをセルに入力するなどの方法を検討する必要があります。

また、ExcelのバージョンアップやOfficeの更新プログラムが適用された場合も、INFO関数が返す情報に影響を与える可能性があります。そのため、INFO関数を利用した数式を他の環境や異なるバージョンのExcelで利用する際には、事前にテストを行い、期待通りの結果が得られるか確認することが重要です。

ADVERTISEMENT

INFO関数と他の関数との組み合わせ活用

INFO関数は単独でも利用できますが、他のExcel関数と組み合わせることで、さらに強力な機能を発揮します。ここでは、IF関数やVLOOKUP関数などとの組み合わせ例を紹介します。

IF関数との組み合わせによる条件分岐

INFO関数で取得したOSバージョンやExcelバージョンに基づいて、処理を分岐させたい場合にIF関数と組み合わせます。例えば、特定のExcelバージョン以上でないと使えない関数(XLOOKUP関数など)がある場合に、互換性を考慮した処理を記述できます。

例1: OSバージョンによるメッセージ表示

Windows 10以上の場合に「Windows 10以上です」と表示し、それ以外の場合に「Windows 10未満です」と表示する数式です。

  1. 数式
    =IF(INFO(“OSVERSION”)>=”10.0″,”Windows 10以上です”,”Windows 10未満です”)

この数式では、INFO(“OSVERSION”)で取得したOSバージョン番号が “10.0” 以上であるかを比較しています。数値比較のため、演算子(>=)が使用できます。

例2: Excelバージョンによる関数利用可否の判定

Excelのバージョンが16.0以上(Excel 2019やMicrosoft 365など)の場合に「最新機能が利用可能です」と表示し、それ以外の場合に「古いバージョンです」と表示する数式です。

  1. 数式
    =IF(INFO(“VERSION”)>=16.0,”最新機能が利用可能です”,”古いバージョンです”)

INFO(“VERSION”)やINFO(“NUM1”)は数値として扱えるため、IF関数の条件式で直接比較演算子を使って判定できます。

VLOOKUP関数との組み合わせによる情報表示

INFO関数で取得した情報をキーとして、VLOOKUP関数を使って詳細な情報を別シートから検索・表示させることも可能です。例えば、Excelのバージョンごとに異なるサポート情報を表示させたい場合などに利用できます。

前提:

  • シート1に、INFO関数で取得したExcelバージョン番号(例: 16.0)を入力するセル(A1とする)。
  • シート2に、Excelバージョン番号と対応する情報(例: “Excel 2019”)のリストを作成する。A列にバージョン番号、B列に対応情報。

数式(シート1のB1セルに入力):

  1. 数式
    =VLOOKUP(INFO(“VERSION”),シート2!A:B,2,FALSE)

この数式では、INFO(“VERSION”)で取得した現在のExcelバージョン番号を検索値とし、シート2のA列(バージョン番号)から対応するB列(対応情報)の値を返します。これにより、動的にExcelバージョンに応じた情報を表示させることができます。

注意点: INFO(“VERSION”)やINFO(“NUM1”)は数値で返されるため、VLOOKUP関数の検索値として利用する際は、シート2のA列も数値型で統一する必要があります。もし、シート2のA列が文字列型になっている場合は、VLOOKUP関数に渡す前にVALUE関数などで数値に変換するか、シート2のデータを数値型に修正する必要があります。

その他の関数との組み合わせ

INFO関数は、CHOOSE関数、SWITCH関数、FILTER関数など、様々な関数と組み合わせて利用できます。例えば、CHOOSE関数を使えば、INFO(“SYSTEM”)の結果に応じて、異なるメッセージを表示させることが可能です。

例: SWITCH関数とINFO(“SYSTEM”)の組み合わせ

OSがWindowsなら「Windows」、macOSなら「Mac」と表示し、それ以外は「その他OS」と表示する数式です。

  1. 数式
    =SWITCH(INFO(“SYSTEM”),”Windows”,”Windows”,”Macintosh”,”Mac”,”その他OS”)

このように、INFO関数で取得した環境情報をトリガーとして、他の関数でさらに複雑な条件分岐やデータ処理を行うことが可能です。これにより、Excelファイルの互換性を高めたり、ユーザーの環境に合わせた柔軟な表示を実現したりすることができます。

INFO関数とVBAでの環境情報取得の比較

Excelの環境情報を取得する方法として、INFO関数による数式での取得と、VBA(Visual Basic for Applications)によるプログラミングでの取得が考えられます。それぞれにメリット・デメリットがあり、用途に応じて使い分けることが重要です。

INFO関数のメリット・デメリット

メリット:

  • 手軽さ: 数式を入力するだけで、特別な設定やコードの記述なしに環境情報を取得できます。
  • リアルタイム性: ファイルを開いている間は、環境の変化に応じて数式の結果が自動的に更新されます(一部情報除く)。
  • 互換性: 多くのExcelバージョンで利用可能であり、マクロが有効になっていないブックでも利用できます。

デメリット:

  • 取得できる情報の種類が限定的: VBAに比べて取得できる環境情報が少ないです。例えば、CPUのコア数やメモリ容量などの詳細なハードウェア情報は取得できません。
  • 複雑な処理には不向き: 条件分岐や複雑なデータ操作をINFO関数単体で行うのは難しく、IF関数などとの組み合わせが必要になります。
  • 一部情報の精度: 環境によっては、取得できる情報が最新でなかったり、期待通りの値が返されなかったりする場合があります。

VBAでの環境情報取得のメリット・デメリット

メリット:

  • 取得できる情報の豊富さ: VBAでは、INFO関数では取得できない、より詳細なシステム情報(CPU情報、メモリ使用量、ディスク容量など)を取得できます。
  • 柔軟な処理: 取得した情報を元に、複雑な条件分岐、ループ処理、外部ファイル操作など、高度な処理を記述できます。
  • 自動化: マクロとして登録することで、特定のイベント(ブックを開いたときなど)をトリガーにして環境情報を取得し、自動的に処理を実行させることができます。

デメリット:

  • 専門知識が必要: VBAのコードを記述・理解する必要があります。
  • セキュリティリスク: マクロを含むブックは、セキュリティ警告が表示されることがあります。ユーザーにマクロの有効化を促す必要があり、悪意のあるマクロのリスクも考慮する必要があります。
  • 実行環境への依存: マクロが有効になっていない環境では実行できません。

使い分けのポイント

INFO関数が適しているケース:

  • OSバージョンやExcelバージョンといった基本的な環境情報を、数式で手軽に確認したい場合。
  • マクロを有効にしたくないファイルで、環境依存の処理を(限定的ではあるが)行いたい場合。
  • Excelファイルを開いているだけで、動的に環境情報を表示させたい場合。

VBAが適しているケース:

  • CPU、メモリ、ディスク容量など、より詳細なシステム情報を取得したい場合。
  • 取得した環境情報に基づいて、複雑な自動処理やデータ操作を行いたい場合。
  • マクロの実行が許可されており、高度なカスタマイズを行いたい場合。

INFO関数は、Excelの数式だけで環境情報を取得できる手軽さが魅力です。一方、VBAはより広範で詳細な情報を取得し、高度な処理を実行できる反面、専門知識やセキュリティへの配慮が必要となります。ご自身の目的や環境に合わせて、最適な方法を選択してください。

まとめ

本記事では、ExcelのINFO関数を使用して、OSバージョンやExcelのバージョン、作業ディレクトリなどの実行環境情報を数式で取得する方法を解説しました。INFO関数は、引数に”OSVERSION”、”SYSTEM”、”VERSION”、”DIRECTORY”などを指定することで、目的に応じた情報を取得できます。これらの情報は、IF関数などの他の関数と組み合わせることで、Excelファイルの互換性を確保したり、ユーザーの環境に合わせた処理を実装したりする際に非常に役立ちます。

INFO関数を利用することで、Excelの実行環境に関する情報を数式だけで手軽に確認できるようになりました。これにより、マクロが利用できない環境でも、ある程度の環境依存の処理を記述することが可能になります。今後は、INFO関数で取得した情報を活用し、より堅牢なExcelファイルを作成することを目指しましょう。また、より高度な環境情報や処理が必要な場合は、VBAの利用も検討してみてください。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】