【拡張機能】 Excelセルの値を取得(行・列指定)
機能概要
行数と列数で位置を指定したExcelセルの値を取得し、変数に格納します。(※よくあるX座標・Y座標表記ではなく、行・列の順番である点に注意。)
表示された値ではなく、セルに入力されている元の値(数式、指数表記になっている桁数の多い数など)も取得できます。
作業対象画面
項目説明
・「ファイルパス」
Excelブックのファイルパスを指定します。省略した場合はアクティブなExcelブックが選択されます。
・「シート名」
Excelシートの名前を指定します。省略した場合はアクティブなExcelシートが選択されます。
・「行」
値を取得するセルを行数で指定します。
・「列」
値を取得するセルを列数で指定します。
・「前後空白・改行削除」
変数にセルの値を格納する際、文字列の前後にある空白および改行を削除します。デフォルトでチェックON。基本機能「文字列コピー変数に格納」で同様の項目があるが、それと同じ動きをします。
・「表示されている値を取得」
Excelでは表示されている値と入力されている値に差異が生じるケースがあります。代表的な例では数式や関数がそれに当る。
チェックがされていた場合は表示されている値(上の例では①の値)、チェックがされていない場合は実際に入力されている値(上の例では②の値)が変数に格納されます。デフォルトではチェックON。
・「変数A」
セルから取得した値を格納する変数名を指定します。
使用例
- EzRobotでは配列を扱うことが出来ませんが、本機能と拡張機能「Excelセルに値を入力(行・列指定)」を組み合わせて、擬似的に配列と同じ機能を実現することが出来ます。
配列
変数の一種で、格納する情報のアドレスを持つ。1次元配列から始まり、2次元配列、3次元配列或いはそれ以上と、多次元のアドレスを持つケースもあります。
一番単純な1次元配列では、Aという名前の配列で4までのアドレスがあれば、A(0)、A(1)、A(2)、A(3)と表され、それぞれに値が格納され、変数と同じように格納、編集、取得することができます。
プログラムではよく使われる概念で、アドレスの数すなわち配列に格納出来るデータの量を変化させたい場合、大量にデータを格納する箱が必要な場合、などで多用される。
例えばクラス50人分のテストの点数を処理するケースの場合、50人分のテストデータを格納する変数を定義するのは大変であります。この場合、配列を使えばこの手間を省くことが出来る。
出席番号などでそれぞれの配列アドレスを定義し、データを格納するといった使い方をします。
EzRobotではこの配列の機能を備えていないが、Excelセルを配列に置き換えれば同じ処理は可能であります。
上の例では、A(0)、A(1)、A(2)、A(3)にそれぞれ値を入れたい場合、A1、A2、A3、A4セルに値を格納します。この際、拡張機能「Excelセルに値を入力(行・列指定)」を使用し、各アドレスを指定します。
これは1次元配列の例であるが、2次元配列(アドレスがX,Yで表されるもの)でも、Excelセルは2次元であるため、同じように実現可能であります。
なお、3次元以上の配列は置き換え出来ない(出来ても非常に複雑になる)。