Calc(81)数式に名前をつける: その2

2018-02-23

旧ブログ

t f B! P L
「範囲」とシートの参照についてやります。

前の関連記事:Calc(80)数式に名前をつける: その1


「範囲」で名前の所属先を決める



「範囲」では「ドキュメント(グローバル)」か各シート名が選択できます。

「範囲」に各シートを指定した名前は、定義したシート以外でも名前の管理画面では表示されますが、セルに代入してみると#NAME?となって使えませんでした。

シートに指定した名前はそのシートを削除するとその名前も削除されました。

しかし名前は削除されても他のシートで使われているその名前はエラーにはならずそのまま結果が表示されますが、再計算のときに0になってしまいました。

また「範囲」が異なれば同名の名前を定義できますが、セルに代入した名前には「範囲」が表示されないので、どこに所属した名前を使っているのかがわかりません。

そう考えると、「範囲」が異なったとしても同名の名前は定義しないほうがよいです。

しかし、「範囲」がシートになっている名前が付いた数式が入っているセルをコピーすると範囲はペースト先のシートの「範囲」に変わるので同名の名前ができてしまいます。

そう考えると結局「範囲」をシートに指定することもなるべく避けた方がよさそうです。

名前が付いた数式が入っているセルを異なるドキュメントにコピーしたときは名前も一緒にコピーされました。

すでに同名の名前が同じ範囲にあるときはエラーにならずにすでにある名前が使われていました。

相対参照でシート名を指定した数式


数式でシート名を指定したときも少しわかりにくい結果となりました。

Calc(80)数式に名前をつける: その1のSheet1があるドキュメントにSheet2を追加しました。


Sheet2のA4セルを選択して、メニューからシート→名前付き範囲または式→指定。


Sheet2のA4セルを選択した状態でSheet1のA2セルとA3セルを加えた数式にName2という名前を定義しました。

このName2をSheet2のA4セルに貼り付けるとSheet1のA2セルとA3セルの合計が表示されます。


Sheet2をSheet1の左にもってきてもSheet2のName2ではSheet1のセルを参照していました。

相対参照でシートを指定しているので、Sheet2をSheet1の前にもってくるとエラーになると思ったのですが、そうではありませんでした。

再計算もできました。


今度はSheet1、Sheet2に続いてSheet3を追加してSheet3のA4セルを選択して名前をみてみるとSheet2のセルを参照していました。


ところがSheet1、Sheet3、Sheet2と並び変えると今度はSheet1のセルを参照すると思ったのですが、エラーになりました。


「一つ前のシートを参照する」と思ったのですが、そうではないので、シートは絶対参照でのみ指定したほうがよさそうです。

次の関連記事:Calc(82)名前でセルを参照する

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ