タスク管理ツールを作る ~列の移動への対応~ 1日目

Googleスプレットシートで理想のタスク管理ツールを作る 1日目

  • 前回(0日目)の記事はこちらから
    • 最低限タスク管理ツールとして使えるようなスプレットシートの原型を作成した。
  • 作業を進めていくシートはこちら

参考 : 結城浩,note.mu,放置プロジェクトをなくすために「色つき星取表」を使ってみよう

今回行う作業

  • 合計値の計算で、相対参照を使用していた為に起こった不具合への対処

合計値の不具合への対処

今回対処する不具合:

合計値の計算をするセルに相対参照を使用していた為、基準の行や列(一番上の行,一番左の列)を変更すると、合計値が狂ってしまう

スクリーンショット 2018-03-17 0.44.43.png

例えばこの状態で、2018/03/17(土)の行を2018/03/16(金)の上(3行目)に加えてみる。
すると、=sum(F3:F1001)=sum(F4:F1002)となってしまい、新たに作成した3行目が合計値の計算に入らなくなる

解決案1 : 絶対参照を使用する → 失敗

IBM Lotus Symphony, スプレッドシートのセルを参照する を参考にして絶対参照を使ってみる

  • 相対参照とは、列の移動などがあった時に自動的に移動先のセル参照するようにするなど、賢いシートがいい感じに参照するセルを調整してくれる機能。便利だが、今回のような問題も発生する。
  • 絶対参照とは、$マークをつけることで、参照するセルを指定して固定する方法。行や列ごとに設定できるのも便利
例:D列(指定)の4行目(相対参照) ~ ZZ4(相対参照)
$D4:ZZ4
結果:

$を使用した絶対入力を試みるも変化が見られなかった...

失敗例

C3を=sum($D4:ZZ4)としたが、F列をD列に移動すると、C3が=sum($E4:ZZ4)になる

考察

絶対参照ができていない。
いまだ相対参照を行っているので、もともとD4だったセルがE4に移動した為、C4が上記のような変化をしたと考えられる

解決案2 : 基準列をいじらないようにする → 成功(?)

  • C列を空欄、最小幅に設定。同様に4行目も変更

  • 固定列をA~C、固定行を1~3とする。

    • 基準とする行や列が変更されることがなくなった。
      • 使用の範囲で合計値が変化することがなくなった。

(C列と4行目を固定&無視できる形にして、合計値の変更を防いだ)

感想

あまりスマートではない解決方法に思えるので、セルの参照の問題は今後とも取り組む課題としようと思う

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.