回答編集履歴

3

式の誤りを修正

2020/10/15 07:42

投稿

sawa
sawa

スコア3002

test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
 
42
42
 
43
- 以下のように indexの行の要素のところに絶対に 1を返すダミーの関数 `if(TODAY="",0,1)`を追加してみました。
43
+ 以下のように indexの行の要素のところに絶対に 1を返すダミーの関数 `if(TODAY()="",0,1)`を追加してみました。
44
44
 
45
45
 
46
46
 
@@ -50,6 +50,6 @@
50
50
 
51
51
  ```
52
52
 
53
- =index(indirect(text($D$3,"mmdd")&"!5:5"),if(TODAY="",0,1),match($A5,indirect(text($D$3,"mmdd")&"!3:3"),0))
53
+ =index(indirect(text($D$3,"mmdd")&"!5:5"),if(TODAY()="",0,1),match($A5,indirect(text($D$3,"mmdd")&"!3:3"),0))
54
54
 
55
55
  ```

2

補足を追加しました

2020/10/15 07:42

投稿

sawa
sawa

スコア3002

test CHANGED
@@ -15,3 +15,41 @@
15
15
 
16
16
 
17
17
  とりあえず現状は、エラーになってるところを一度消して 左上の「元に戻す」ボタンを押すと関数が再実行されて、正しく表示されます。それで回避するしかないかと。
18
+
19
+
20
+
21
+
22
+
23
+ ---
24
+
25
+
26
+
27
+ 補足です。
28
+
29
+ 推測ですが、式の中で参照している D3やA5といったセルに動きが無いので、関数が再実行されないことが要因と思われます。
30
+
31
+ GASでオリジナル関数を作成した時と同じような感じです。
32
+
33
+
34
+
35
+ というわけで、無理やり動的な参照を追加してあげることで、再実行を促す方法でいけそうです。
36
+
37
+ 動的な参照は `NOW()`や `RAND()`でもいいんですが、頻繁に更新されても重くなりそうなので、
38
+
39
+ シートを開きなおす(更新)した時に動く`TODAY()`あたりが良いかと。
40
+
41
+
42
+
43
+ 以下のように indexの行の要素のところに絶対に 1を返すダミーの関数 `if(TODAY="",0,1)`を追加してみました。
44
+
45
+
46
+
47
+ これでエラー出てもF5更新で再実行され解消されると思います。
48
+
49
+
50
+
51
+ ```
52
+
53
+ =index(indirect(text($D$3,"mmdd")&"!5:5"),if(TODAY="",0,1),match($A5,indirect(text($D$3,"mmdd")&"!3:3"),0))
54
+
55
+ ```

1

一部修正

2020/10/15 06:59

投稿

sawa
sawa

スコア3002

test CHANGED
@@ -1,4 +1,4 @@
1
- 同じ現象が発生しました。手順的に 先に関数を入れて その後対象のシートを日付に対応したシート名にリーネームだと参照できなくてエラーになるようです。
1
+ 同じ現象が発生しました。手順的に 先に参照する日付と関数を入れてあって、その後対象のシートを日付に対応したシート名にリーネームだと参照できなくてエラーになるようです。
2
2
 
3
3
 
4
4