やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Calc セルに名前をつけて参照する

 セル範囲を指定するより可読性UP。数式も名前で隠せて保守性UP。

成果物

情報源

名前のルール

  • 先頭は文字または_であるべき
  • A1などセル参照名と同一にすると無効
記号 補足
_
. 先頭や末尾には不可
先頭や末尾、セル範囲には不可。

 セルの名前はキャメルケースまたはスネークケースで書くと良さそう。

手順

0. データ

Numeral

0 1 2 3 4 5 6 7 8 9

 シートnamesにあるセルA1A11の内容。

1. セルに名前をつける

  1. 任意セルを範囲選択する: A2A11
  2. メニュー→シート名前付きの範囲または式指定
  3. 名前に任意セル名を入力する: Numeral
  4. 参照範囲または数式には範囲選択したセルが入力されている: $names.$A$2:$A$11
  5. 範囲ドキュメント(グローバル)である
  6. 追加ボタンを押下する

0 1 2

1-1. セル範囲を可変長にする

 参照範囲または数式を以下のようにする。

OFFSET($names.$A$2,0,0,COUNTA($names.$A:$names.$A))

 シートnameにあるセルA2以降のA列にある空白以外の値を持った行数分だけセル範囲とする。

関数 概要
OFFSET(参照; 行数; 列数; 縦; 横) セル範囲を返す。基準セルから指定の行数と列数を移動した位置から始め、指定した縦横の個数分までの範囲を返す。
COUNTA(値1; 値2; ...; 値30) 引数リストに含まれる空白でないセルの個数を返す

 つまりA列は空白行が見つかるまでを範囲とする。空白が最初に見つかったとき範囲の終端とする。よって空白は範囲の値に含めることができない。

4 5

2. セル名を一覧する

  1. メニュー→シート名前付きの範囲または式指定
  2. 追加した名前がリストに表示されていることを確認する

3

3. 名前を参照する

  1. 任意セルに=SUM(Numeral)を入力する
  2. 45が表示される

6

長所

 名前はセル範囲を指定するよりいい。

  • 可読性UP
    • 数式も名前で隠せる
  • 保守性UP
    • 間違って範囲や式を一部改竄されない

所感

 セル範囲の名付けは使うべき。とくに可変長にするテクニックと組み合わせてよく使う。

対象環境

$ uname -a
Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux