2016-10-22 16 views
-1

私は2つのシート、すなわちsheet1とsheet2を持つ単純なGoogleスプレッドシートを持っています。 sheet2には、sheet2の列Aにコピーしようとしている列Aに時間値があります。私はそれのためのスクリプト(リンクを参照してください)を書いたが、値は同じではありません。両方のシートで同じ値を取得するには、どのクラス/メソッドを使用する必要がありますか。インポートされた範囲の時間値は、ソース範囲の時間値と一致しません。Googleシートスクリプト

シート2の列Aの値をテキストにフォーマットすると、一致する値が得られますが、問題は許可されておらず、その列は時間としてフォーマットされたままでなければなりません。

また、私の2番目の質問(その話題は無視してください)。私は3人の従業員のためのGoogleシートの仕事のスケジュールがある:ジョン、ピーターとマイクと彼らはすべての編集権限を持っています。マイクがフィルタを使用して自分の仕事スケジュールを除外することに決めた場合、他の2人の従業員は未編集のシートを持っている可能性があります(私はマイクの行動が他の2人に影響を及ぼすと信じています)。私が意味することは、他の人が影響を受けていないバージョン(この場合は一緒に仕事のスケジュール)を持っている間に、見ている人だけの人の行動を制限することは可能ですか?スプレッドシートのための

リンク:感謝

https://docs.google.com/spreadsheets/d/1tOtwzM0CxDHBXzC8ECeXlfaTGC4i7rH2XMYYszqRINM/edit?usp=sharing

+2

ようこそスタックオーバーフロー。 [ツアー]とチェックアウト[質問]をしてください。 –

答えて

0

あなたのスクリプトは意図したとおりに動作しており、sheet2と同じ値をsheet1に持っています。唯一の違いは、Sheet1には日付書式があり、sheet2には時刻のみが表示されることです。私はシート1の数字の書式を変更しましたが、あなたが見ることができるように同じです。

問題は、時間だけを示すことによって、シートに日付を仮定させることです。時間はそれほど大したことではありませんが、時間形式が同じであることを確認する必要があります。コピーするときに正しい形式を設定するgetNumberFormat()setNumberFormat()read here)を使用するか、またはフィルタリングについては

事前

での書式が設定されている - あなたは、単にそれらを表示専用のアクセス権を与えることができ、右の「フィルタ」の下で(彼らはfiltereビューを使用してみましょう)。フィルタはシート上の全員の情報を非表示にしますが、フィルタビューはその人だけに表示されます。また、編集ビューを保存できるのでフィルタビューを事前設定することもできます。

+0

ご返信ありがとうございます。それは問題を解決しました。しかし、私が提供したスプレッドシートは、元のスプレッドシートの一部のレプリカに過ぎません。元のスプレッドシートでは、ここに来る前からソースとターゲットの両方の範囲を時間としてフォーマットしようとしましたが、それでも8時間の時間差があります。 –

+0

謝罪、誤って入力してください。問題を解決したのはあなたのsetNumberFormat()でした。最初はその範囲のすべての値をテキストに設定し、それを新しいシートにインポートしました。 –

+0

もう一度、非常に感謝! –

関連する問題