本ページには広告が含まれています。
配列の下限値(最小インデックス)を返します。arraynameに配列の名前、dimensionに下限値を求める配列の次元を指定します。
- 構文
- Double = LBound( arrayname, dimension )
- 引数
- array (Array)必須
- 下限値を求める配列の名前
- dimension (Integer = 1)省略可
- 返す次元を示す整数
- 戻り値
- 配列の下限値
プログラム
解説
- 2行目
- UBound関数 (自作関数)で指定された次元の配列の上限値を求めます。配列の上限値から配列のサイズ(要素数)を引いて1を加えた値で下限値を求め、戻り値として返します。arraynameの右側にdimensionの数値から1を引いた数だけ[0]を繰り返した文字列を結合し、LENGTH関数 (スクリプト関数)の引数として渡します。一次元目の要素数はLENGTH(arrayname)、二次元目の要素数はLENGTH(arrayname[0])、三次元目の要素数はLENGTH(arrayname[0][0])で求められます。EVAL関数で文字列で書かれた式を実行することができます。
LBound関数とは
LBound関数とは引数に指定した配列で使用できる最小のインデックス番号を返す関数です。
LBoundはLower(下の)とBound(限界)で下限値を意味しています。
配列の下限値は以下の式から求めることができます。
要素数 = 配列の上限値 - 配列の下限値 + 1
配列の下限値 = 配列の上限値 - 要素数 + 1
配列の下限値 = 配列の上限値 - 要素数 + 1
使い方
一次元目の下限値を求める
一次元配列arrayの下限値を求めます。DIM 配列名[値]で宣言した場合LBound関数が返す値は、常に0になります。
- 結果
宣言した配列より一つ大きい次元は0を返しますが、それ以降の次元はエラーを返します。
- 結果
多次元配列の下限値を求める
二次元配列の一次元目と二次元目の下限値を求めます。一次元配列のときと同様DIM 配列名[値1][値2]で宣言した場合、LBound関数が返す値は次元に関係なく常に0です。
- 結果
SAFEARRAY関数 (スクリプト関数)で二次元配列を生成し、その配列の一次元目と二次元目の下限値を求めます。第一引数が一次元目の下限値、第三引数が二次元目の下限値なのでその値が返ります。
- 結果
