読み方 : バリアントがた

Variant型【バリアント型】

Variant型とは?

プログラミング言語で用いられるデータ型の一つで、整数や文字列、日付など型の異なるデータを一つの変数で扱える特殊な型。値が代入された時点で処理系がその内容を判別し、適合するデータ型を自動的に割り当てる。Visual BasicVBAなどで利用でき、柔軟な記述ができる反面、メモリ消費量や処理速度の面で不利になりやすい。
Variant型のイメージ画像

通常の変数は整数型文字列型など、あらかじめ決められた型の値しか格納できないが、Variant型は内部的に型情報を保持し、代入される値に応じて動的に型が変化する。変数宣言も「Dim v As Variant」のように行い、特定のデータ型は宣言しなくてよい。

例えば、変数に数値を格納すると数値型になり、その変数に後から文字列を代入すると文字列型に自動的に切り替わる。処理系によっては真偽値日付型のほか、配列オブジェクト参照、ユーザー定義型、何も代入されていない状態を示すNullやEmptyなどの特殊な値も格納できる。

利用者から入力された値が数値になるか文字列になるか事前に分からない場合や、異なる型の値を共通の手順で受け渡したい場合などに用いられる。関数やプロシージャの引数、戻り値として使われることも多い。あらかじめ型を限定せずに処理を進められるため、プログラムの記述を柔軟にする手段として用いられる。Excel VBAVisual Basic for Applications)ではセルの値を読み込む際に数値か文字列かをあらかじめ判別しなくてよい型として重宝される。

一方、値そのものに加えて型情報も管理するため、固定長の数値型や文字列型より多くの記憶領域を必要とする。演算や比較の度に型の判定や変換が発生するため、処理速度の面でも不利になる。型が異なる値同士の演算や比較を行っても必ずしもエラーになるとは限らず、処理系が自動的に型を変換した結果、意図しない値のまま処理が継続されることがある。

こうした特性から、用途を見極めずに多用すると、不具合の原因を把握しにくいプログラムになりやすいとされる。近年の言語設計では、コンパイル時に型を厳密に検査する「静的型付け」が重視される傾向にあり、Variant型のような「動的型付け」の仕組みは安全性の観点から利用が忌避されることも多い。TypeScriptのany型のように、似た性質を持つ型を別の名称で導入している言語も存在する。

(2026.6.21更新)

他の辞典等による「Variant型」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。