GASのgetValueがずれる現象
イマイチな使い方がされているGoogle Sheetsを直すために、いったん全データ全取得しようとしたらなんかずれている
https://gyazo.com/32be7130adf03544daf7169d8d0508c5
このA5セルが無視されてしまう
範囲で取得すると
[2, '土', ...]のように行が不自然なずれ方をする
シートをコピーするとこの無視されるセルも引き継がれる
このシートに対して次を実行する
code:code.gs.js
console.log(sheet.getRange('A5').getValue());
sheet.getRange('A5').setValue('A5');
A5のrangeに対してgetValueした値はA6の2が取得されてしまっている
https://gyazo.com/2bff4d532660b5c239742482c703e863
対してA5のRangeに対してsetValueするとA5に正常にsetされる
https://gyazo.com/8e43fd9996447a1859fcd9a2e1f7a768
行を上に挿入した
https://gyazo.com/4c329a0855e5e60cebce4f001e4e378a
A5は正しく取得できている(空)
https://gyazo.com/a35c06e32cad19ea8890595e9db32c94
A6を取得しようとするとやはり無視されている
https://gyazo.com/51de9b5b6680c95e0789008de502bb4b
5行目を削除した
https://gyazo.com/7597badb2f9d539d47b4b4ac60adb361
https://gyazo.com/3cb3eb855872d2536d964b805f13379e
https://gyazo.com/8e168bc39074ac6fbcf6572828d09c4d
症状はA5に残存した
5行目を削除してから再び行を挿入した
https://gyazo.com/549c0372933394c732dab86d7cb1db5f
A5を正しく取得できた
https://gyazo.com/38b0ff715b4b4e8c3cd7f881ba8a4f47
A6がやはり無視されている
https://gyazo.com/074a36859a07a42404fc76a5359476a7
行を削除した段階で呪いが下に移った→上に挿入された
わかった。セルに入っている値の問題
https://gyazo.com/b858c9e88fccc7a763fb7a53b38542f9
A5に入っていたのが1900/01/01
これを数値にすると2.00
問題に気づきにくい構造になっていて面白い
元のセルが1900/1/1だったのはわかっていた
正規化されてないなァ程度に考えていた
ここでgetValueしたときに1900/1/1もしくは表示上の1であることを期待していた
実際に表示されたのは2だった
1900/1/1を数値表記するとなぜ2.0になるのがよくわからん
以降1ずつずれているので、「A5セルだけが取得できない」という現象に見えた
バグ?