現在のタイムスタンプを挿入するショートカットとしてGoogle Spreadsheetの NOW()
関数を使用していますnow。
ただし、セルの値は、スプレッドシートが何らかの方法で変更されると、変更がその特定のセルとは関係がない場合でも変更されます。
セルの値が自動的に更新されないようにするにはどうすればよいですか?
これは古い投稿ですが、最近これを調べていたので、私は中に入ってしまうと思いました。
ニーズに応じて、私が考える最も簡単な答えは、ドロップダウンメニューを作成し、別のセルの関数を参照することです。
例:
A10:A20
]を選択し、右クリックして[データ検証] を選択します。=mult(now(),1)
データ検証済みセル(この例ではA10:A20
)に日時を挿入するには、ドロップダウン矢印をクリックして、リストされている時刻をクリックします。これにより、日付と時刻がフィールドに入力され、スプレッドシートが更新されるたびに変更されることはありません。セルの書式を時刻だけ、または日付のみに変更する場合は、簡単に実行できます(目的のセルを選択>形式>数字>形式を選択)。
ドキュメントにはこう書かれています:
NOW関数とワークシートの再計算NOW()関数は、デフォルトで、それらが配置されているワークシートが再計算されるたびに再計算または更新される、Googleシートの揮発性関数グループのメンバーです。
たとえば、ワークシートは開かれるたび、またはワークシートでデータが入力または変更されたときなど、特定のイベントが発生するたびに再計算されるため、NOW()関数を使用して日付または時刻が入力されると、更新が続行されます。
Googleスプレッドシートの[ファイル]メニューにあるスプレッドシートの設定には、ワークシートの再計算のタイミングに関する2つの追加設定があります。
変更時および毎分変更時および毎時プログラム内には、揮発性関数の再計算をオフにするオプションはありません。
日付と時刻を静的に保つ日付または時刻を継続的に変更するのが望ましくない場合、静的な日付と時刻を入力するショートカットオプションを使用します。手動で日付または時刻を入力するか、次のキーボードショートカットを使用して入力します。
静的な日付のショートカットはCtrl +です。 (セミコロンキー)静的時間のショートカットはCtrl + Shift +:(コロンキー)
ただし、次のように関数TIMESTAMP
を使用することを検討します。
=TIMESTAMP()
これにより、次のように静的な日付時刻が得られます
8-15-2019 16:53:52
ただし、TIMESTAMP()
などの関数はありません。これは簡単に追加できます。tools> Script Editorに移動して、次のコードを貼り付けます
function TIMESTAMP() {
var today = new Date();
var date = (today.getMonth()+1)+'-'+today.getDate()+'-'+today.getFullYear();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dateTime = date+' '+time;
return dateTime;
}
スクリプトを保存すると、シートはこの関数を使用する準備ができました。
googleスプレッドシートの=NOW() =TODAY() =Rand() =RANDBETWEEN()
などの揮発性関数の自動再計算は、30分間フリーズできます(30分間))
以下は、RANDBETWEENを実装する2つの「凍結」キーを生成する小さな例です。
これをセルに挿入A3:
=index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))
スプレッドシート全体のコピー/複製を作成し、「KEY2」という名前を付けます
新しい(3番目の)スプレッドシートを作成し、「ALL_KEYS」という名前を付けます
3つのスプレッドシートすべてで共有を有効にし、詳細オプションで「編集可能」を選択します(この手順を実行しないと、すべてが#REFこれらのスプレッドシートは互いにリンクする必要があるためエラー
この3番目のスプレッドシートでは、セルA1およびA2を次のように設定します。
=IMPORTRANGE("paste-here-whole-url-of-KEY1-spreadsheet";"Sheet1!$A$3") =IMPORTRANGE("paste-here-whole-url-of-KEY2-spreadsheet";"Sheet1!$A$3")
新しい(4th)スプレッドシートを作成し、必要に応じて名前を付けます(また、共有を有効にします)
セル(またはスプレッドシート全体でシートタブ)に各数式を挿入します。例:
D3 =IMPORTRANGE("paste-here-whole-url-of-ALL_KEYS-spreadsheet";"Sheet1!$A$1") D4 =IMPORTRANGE("paste-here-whole-url-of-ALL_KEYS-spreadsheet";"Sheet1!$A$2")
セルC3を右クリックし、「データ検証...」を選択してから基準を選択します「チェックボックス」と「カスタムセル値を使用」にチェックマークを付けます。その後、TRUE入力番号1およびFALSE入力番号として
C4セルにも同じことを行います(これは、オン/オフではなくオン/オンスイッチとして機能します)
スプレッドシート「KEY1」および「KEY2」に移動し、両方ともこれをA2セルに挿入します:
"KEY1" -> A2 =IMPORTRANGE("paste-here-whole-url-of-4th-spreadsheet";"Sheet1!$C$3") "KEY2" -> A2 =IMPORTRANGE("paste-here-whole-url-of-4th-spreadsheet";"Sheet1!$C$4")
スプレッドシートを閉じる "KEY1"、 "KEY2"& "ALL_KEYS "、およびそれらを再び開くことはありません
できた!ボーナスステップ:ランダムに生成されたこれら2つのキーが一意であることを確認するには、「ALL_KEYS」スプレッドシートに=IF($A$1<>$A$2;"unique";"reload")
のようなアラートを追加し、それを4th=IMPORTRANGE("paste-here-whole-url-of-ALL_KEYS-spreadsheet"; "Sheet1!a10")
のようなスプレッドシート
SUM:「スイッチ」を有効/無効にするたびに、ランダムな新しいキーが生成され、次のスイッチを押すまでそこにとどまりますブラウザタブのRELOADでさえ、これらのランダムに生成されたキーを変更します)。ご覧のとおり、わずかなオフセットがありますkey1 in "KEY1"およびkey1 in " ALL_KEYS "&"4th "が、それでもメリットはありません。 ..