外部ファイルにあるセルや、セル範囲名を参照する方法。
セルを参照する ¶
番 | 題 | コード例 |
---|---|---|
1 | 単一セルを参照する | A1 |
2 | 複数セルを参照する | =A1+C3 |
3 | 単一セル範囲を参照する | =SUM(A1:B2) |
4 | 複数セル範囲を参照する | =SUM(A1:B2, D1:E2) |
5 | セル範囲名を定義する | `` |
6 | セル範囲名を参照する | =SUM(range_name) |
'URL'#$シート名.セル名
¶
A1
,$A$1
A1:C3
,$A$1:$C$3
sheet1.A1
sheet1.A1:C3
'file:///tmp/a.ods'#sheet1.A1
'file:///tmp/a.ods'#sheet1.A1:C3
'file:///tmp/a.ods'#$sheet1.$A$1:$C$3
'file:///tmp/a.ods'#RangeName
'http://a.ods'#RangeName
セルを参照するコードのパターン。
1. 単一セルを参照する ¶
1-1. 同一ファイル同一シート単一セル ¶
- セル
A1
に2
を入力する - セル
B1
に=A1
を入力する - セル
B1
の結果が2
と表示される
絶対参照について。セルB1
をC1
などへコピーしたとき座標が自動でインクリメントされる。それを防ぐためには絶対参照=$A$1
とする。なお、=$A1
, =A$1
のように行と列を個別に絶対・相対指定できる。
コード | 列 | 行 |
---|---|---|
A1 |
相 | 相 |
A$1 |
相 | 絶 |
$A1 |
絶 | 相 |
$A$1 |
絶 | 絶 |
1-2. 同一ファイル別シート ¶
sheet1
- セル
A1
に2
を入力する
- セル
sheet2
- セル
A1
に=sheet1.A1
を入力する - セル
A1
の結果が2
と表示される
- セル
1-3. 別ファイル別シート(ローカル) ¶
/tmp/a.ods
ファイルのsheet1
- セル
A1
に2
を入力する
- セル
/tmp/b.ods
ファイルのsheet1
- セル
A1
に='file:///tmp/a.ods'#$sheet1.A1
を入力する - セル
A1
の結果が2
と表示される
- セル
1-4. 別ファイル別シート(Web) ¶
http://a.ods
ファイルのsheet1
- セル
A1
に2
を入力する
- セル
http://b.ods
ファイルのsheet1
- セル
A1
に='http://a.ods'#$sheet1.A1
を入力する - セル
A1
の結果が2
と表示される
- セル
2. 複数セルを参照する ¶
- セル
A1
に2
を入力する - セル
C1
に3
を入力する - セル
E1
に=A1+C1
を入力する - セル
E1
の結果が5
と表示される
3. 単一セル範囲を参照する ¶
3-1. 同一ファイル同一シート ¶
- セル
A1
に2
を入力する - セル
B1
に3
を入力する - セル
C1
に=SUM(A1:B1)
を入力する - セル
C1
の結果が5
と表示される
3-2. 同一ファイル別一シート ¶
sheet1
- セル
A1
に2
を入力する - セル
B1
に3
を入力する
- セル
sheet2
- セル
A1
に=SUM(sheet1.A1:B1)
を入力する - セル
A1
の結果が5
と表示される
- セル
3-3. 別ファイル ¶
/tmp/a.ods
ファイルのsheet1
- セル
A1
に2
を入力する - セル
B1
に3
を入力する
- セル
/tmp/b.ods
ファイルのsheet1
- セル
A1
に='file:///tmp/a.ods'#$sheet1.A1:B1
を入力する - セル
A1
の結果が5
と表示される
- セル
4. 複数セル範囲を参照する ¶
- セル
A1
に2
を入力する - セル
B1
に3
を入力する - セル
D1
に4
を入力する - セル
D2
に5
を入力する - セル
F1
に=SUM(A1:B1, D1:D2)
を入力する - セル
F1
の結果が14
と表示される
5. セル範囲名を定義する ¶
データを貼り付ける。
Name 山田 鈴木 田中
- 上記テキストをコピーする
- セル
A1
にフォーカスする Ctrl
+V
でペーストするOK
ボタンをクリックする
名前を定義する。
- セル
A1
〜A4
を範囲選択する - メニュー→
シート
→名前付きの範囲または式
→指定
名前
にNames
を入力する参照範囲または数式
が参照したい範囲になっている:$Sheet1.$A$1:$A$4
範囲
がドキュメント(グローバル)
になっている追加
ボタンを押下する
6. セル範囲名を参照する ¶
- 先述したセル範囲名
Names
を定義したファイルを使う
6-1. 同一ファイル同一シート単一セル ¶
- セル
B1
に=Names
を入力する - セル
B1
をB4
までコピーする - 各行に
A1
と同じ値が表示される
なお、B5
以降は#VALUE!
となる。元データが存在しないため。
6-2. 同一ファイル同一シートセル範囲 ¶
- セル
C1
に=COUNTA(Names)
を入力する - セル
C1
の結果が4
と表示される
6-3. 同一ファイル別シートセル範囲 ¶
- セル範囲名の元データがあるシートとは別のシートを新規作成する
- 1のシートにフォーカスする
- セル
A1
に=COUNTA(Names)
を入力する - セル
C1
の結果が4
と表示される
シート名は不要である。同一ドキュメント内であればセル範囲名を指定すれば。
- 必須条件:セル範囲名を定義したとき
範囲
がドキュメント(グローバル)
になっていること
6-4. 別ファイルのセル範囲 ¶
- セル範囲名を定義したファイルパスを
/tmp/names.ods
とする - 新しいodsファイルを作成する
- 2のファイルにある任意シートへフォーカスする
- セル
A1
に=COUNTA('file:///tmp/names.ods'#Names)
を入力する - セル
C1
の結果が4
と表示される
なお、ローカルファイルでなくWeb上にあるならfile:///
の代わりにhttp://...
などのURLを入力すること。
参考
所感
他にも以下のような参照方法がある。だが今回の方法こそが最も利用するはずなので省略する。
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
- LibreOffice 6.1.5.2 ※ ※ Help
$ uname -a Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux