2

スプレッドシートAは、私たちの小さな町に新参者を迎えるグループのマスターデータソースです。非常に機密性の高いデータが大量に含まれており、少しでも公開することはできません。(私たちは子供の名前と生年月日、そして彼らが学校に行く場所について話している。..スプレッドシートを安全に保つことはミッションクリティカルである。)

そのため、スプレッドシートBはimportRangeとクエリを使用して、スプレッドシートAから必要な列を取得し、「メンバーディレクトリ」にデータを入力します。

次に、スプ​​レッドシートBをグループのGoogleサイトに埋め込みました。(www.SewickleyNewcomers.comで気に入った場合は、このサイトを自由にチェックしてください)

そしてそれは美しく働きます。

しかし 。。。スプレッドシートAとBをシャットダウンして数時間経った後、メンバーディレクトリが埋め込まれているWebページを開こうとすると、埋め込まれたシートに「#VALUE!」と表示されます。

次に、スプ​​レッドシートBに戻ってもう一度開くと、同じことが「#VALUE!」と表示されます。

まで、スプレッドシートBを数分間放置しました。次に、数分間座った後、突然、すべてのデータが再び入力されます。

そして、メンバーディレクトリが埋め込まれているWebページに戻ると、すべて問題ありません。

おそらく、問題は、スプレッドシートBが開いていない場合、スプレッドシートAからデータを取得できないことです。

ただし、前述のように、一般公開できない列やシートがあるため、スプレッドシートAを埋め込むことはできません。

いくつかの詳細:

  • 現在、スプレッドシートAとスプレッドシートBの両方が、共有設定として「リンクを持つすべての人」に設定されています。(理想的には、スプレッドシートAを「プライベート」に戻したいのですが。)

  • スプレッドシートBは、組み込みのスプレッドシート挿入ウィジェットを使用してGoogleサイトに埋め込まれています。

  • スプレッドシートAからスプレッドシートBにデータをプルするために現在使用している式は次のとおりです。

    = arrayformula(query(importrange( " _ "、 "Master!A:Z")、 "select Col3、Col2、Col22、Col18、Col19、Col20、Col21、Col24 where Col26 ='はい、先に進んで連絡先情報を含めてくださいオンラインディレクトリと印刷ディレクトリにあります。'および(Col4 ='Yes'またはCol4='yes')Col3による順序 "))

誰かがここで何が起こっているのかについて何か考えがありますか?そして、必要なデータをスプレッドシートAからサイトに取得する他の方法のアイデア(スプレッドシートBを通過する必要はありません。他のすべてのデータをスプレッドシートAに保持する別の方法を考えることはできませんでした)。プライベート)?スプレッドシートを埋め込む必要があるエンドランにGoogleサイトである種のAppsScriptを使用するソリューションはありますか?

前もって感謝します!そして、Sewickleyに移動するすべての人々もあなたに感謝します!

4

1 に答える 1

4

importRangeは、85%の時間で表示されると予想されるものを示します(私の実験によると)。他の15%の間は、#N/Aまたは#VALUEが表示されます。

Webページで#VALUEを見つけて、しばらく待つ(10〜15分)と、スプレッドシートを再度開かなくても、正しいデータがWebページに戻ると思います。

とにかく、この問題を回避するには、マスタースプレッドシートA内にワークシート「publicSheet」を作成し、他のワークシートから必要なものをコピーする数式を入力して、この特定のワークシートを「ファイル」>「Webに公開」>「publicSheet」で公開します。 。これを行った場合でも、スプレッドシートAの他のワークシートにアクセスすることはできませんが、公開されたワークシートからデータが消えることはありません。

于 2012-08-02T22:34:35.547 に答える