2017-10-05 38 views
0

私は、その名の日付であることで作成される新しいシートを待っている「概要」シートのセルにこの式を有する:私は名前で新しいシートを追加する場合、しかしGoogleスプレッドシートの計算式が自動的に再計算されないのはなぜですか?

=IFERROR(VLOOKUP($A3, INDIRECT("'"&TEXT(BN$2,"m/d/yyyy")&"'!$E$6:$o$100"), 11, false), "") 

一致すると、自動的に再計算されず、新しいシートの値が引き込まれません。

奇妙なことは、私は上に示した式を有し、この列の左側に列を追加する場合、それは再計算...とすべてが順調です。別の奇妙なことは、問題の列から十分離れた列を追加すると、それが問題の列の近くに列を追加したときと同じ方法で再計算されないということです(hmmmm ....)。

ここでは何が起こっていますか?そして、私はどうすればそれを回避できますか?部分的な回避策

+0

「間接」によるものです。新しいトリガーごとに再計算すると、あまりにも揮発性になります。 –

+0

これで、どこかに行ってきました。ありがとう!このための回避策はありますか? –

+0

まあ、私は知らない。 AFAIK、それは閉会と開会時に再び再計算する必要があります。それは?もしそうなら、即座に再計算したいのですか?大切ですか?もしそうなら、あなたは 'Google-apps-script'をそのようなトリガやそれに似たものを試してみたいかもしれません(私はGASに慣れていませんが、スクリプトについて助けが必要な場合は、 。 **可能であれば、可能であれば「間接」を避けてください。** –

答えて

1

... Googleは、この領域か何かの周りのいくつかの主要なバグがあるようです:

=IFERROR(INDIRECT("'"&C9&"'!A1"),RAND()) 

は、代わりにちょうどINDIRECTあなたの式でこれを使用します。それはまだ開いたり閉じたりしても更新されません。しかし、シートのどこにでも編集があるたびに更新されます(これはRAND()との二重の揮発性のコンボです)。これは、スクリプトに対するonEditトリガを使用して動作する可能性があります。また、スプレッドシートの設定で6時間ごとに再計算を有効にしてください。

PS:スプレッドシートは重いのボラティリティに書き込むかもしれません。

+0

ちょっと微調整してもうまくいきました。本当にありがとう!! –

+1

これは、新しい式が必要になります。= IF(IFERROR(VLOOKUP($ A3、INDIRECT( " ' "&TEXT(BM $ 2、" M/D/YYYY ")&"' $ E $ 6:!$ O $ 100")、 VLOOKUP($ A3、INDIRECT( "''&TEXT(BM $ 2、" m/d/yyyy ")&"!$ E $ 6:$ o、 $ 100 ")、11、false)) –

+0

@Brian、今すぐ更新しますか? –

関連する問題