Làm thế nào để dừng chức năng NOW khỏi tự động cập nhật?


8

Tôi đang sử dụng NOW()chức năng Bảng tính của Google làm lối tắt để chèn dấu thời gian hiện tại .

Tuy nhiên, giá trị trong ô thay đổi bất cứ khi nào bảng tính được sửa đổi theo bất kỳ cách nào, ngay cả khi các thay đổi không liên quan gì đến ô cụ thể đó.

Làm thế nào để chúng ta ngăn giá trị trong ô được tự động cập nhật?


1
Đây là một giải pháp: webapps.stackexchange.com/a/44404/29140 . Có lẽ TODAY()cũng có thể?
Jacob Jan Tuinstra


@pnuts, Nice, hoạt động. Bạn có thể gửi nó như là câu trả lời.
Pacerier

Câu trả lời:


12

Hãy thử Shift+ Ctrl+ :Ctrl+;

Đó là các phím tắt cho "thời gian chèn" và "ngày chèn" tương ứng.

(dựa trên nhận xét của pnuts )


1
Một số phím tắt, bao gồm dấu ngày và thời gian, không hoạt động đối với một số bố cục bàn phím quốc tế cho Trình chỉnh sửa Google (Tài liệu, Bản vẽ, Trang tính, Trang trình bày). Đó là một vấn đề "đã biết". Sau này tôi sẽ chuyển một số tài liệu tham khảo.
Rubén

Tôi hy vọng có thể có các phím tắt bàn phím cục bộ cho các bố trí bàn phím khác.
ale

Tôi cũng mong như vậy nhưng tôi chưa tìm thấy chúng.
Rubén

Không hoạt động trên firefox linux :-( có cách nào để có được chức năng này thông qua các menu ?? !! @ Rubén dường như bạn đã quên các tài liệu tham khảo ;-)
Philippe Gachoud

@PhilippeGachoud: Yeap tôi đã quên chúng, ý tôi là tôi không nhớ những gì tôi đã nói về ba năm trước ...
Rubén

6

Đây là một bài viết cũ, nhưng tôi đã xem xét điều này gần đây và nhận ra tôi đã bấm chuông.

Tùy thuộc vào nhu cầu của bạn, câu trả lời dễ nhất tôi có thể nghĩ đến là bằng cách tạo menu thả xuống và tham chiếu một chức năng trên một ô khác.

Thí dụ:

  1. Chọn A10:A20> nhấp chuột phải> Xác thực dữ liệu
    • Tiêu chí = "Danh sách từ phạm vi"> F2
  2. Công thức trong ô F2: =mult(now(),1)

Để chèn thời gian và ngày vào một ô được xác thực dữ liệu ( A10:A20trong ví dụ này), nhấp vào mũi tên thả xuống và nhấp vào thời gian được liệt kê. Điều này sẽ nhập ngày và thời gian vào trường và không thay đổi nó mỗi khi bảng tính được cập nhật. Nếu bạn muốn thay đổi định dạng của ô thành chỉ là thời gian hoặc chỉ là ngày, thì có thể thực hiện dễ dàng (chọn (các) ô mong muốn> Định dạng> Số> chọn định dạng).


1
Tôi đã không tìm ra giải pháp này. Cảm ơn đã chia sẻ nó. Thật đáng để nói rằng việc sử dụng =NOW()trong Danh sách từ phạm vi cũng hoạt động ở phía bên kia, rất có thể các chức năng không xác định khác như TODAY (), RAND () và RANDBETweEN cũng có thể được sử dụng.
Rubén

1

Các tài liệu nói rằng:

Hàm tính toán lại và tính toán bảng tính Hàm NOW () là một thành viên của nhóm các hàm biến động của Google Sheet, theo mặc định, tính toán lại hoặc cập nhật mỗi khi bảng tính được đặt lại.

Ví dụ: bảng tính toán lại mỗi lần chúng được mở hoặc khi một số sự kiện nhất định xảy ra - chẳng hạn như khi dữ liệu được nhập hoặc thay đổi trong bảng tính - vì vậy nếu ngày hoặc giờ được nhập bằng hàm NOW (), nó sẽ tiếp tục cập nhật.

Cài đặt bảng tính, được đặt trong menu Tệp trong Google Sheets, cung cấp hai cài đặt bổ sung khi bảng tính toán lại:

Thay đổi và mỗi phút Thay đổi và mỗi giờ Không có tùy chọn nào trong chương trình để tắt tính toán lại các chức năng dễ bay hơi.

Giữ ngày và giờ tĩnh Nếu không muốn thay đổi ngày hoặc giờ liên tục, hãy sử dụng tùy chọn phím tắt để nhập ngày và thời gian tĩnh bao gồm nhập ngày hoặc giờ theo cách thủ công hoặc nhập chúng bằng các phím tắt sau:

Phím tắt ngày tĩnh là Ctrl +; (phím dấu hai chấm) Phím tắt thời gian tĩnh là Ctrl + Shift +: (phím dấu hai chấm)

nhưng tôi sẽ xem xét sử dụng chức năng TIMESTAMPnhư thế này:

=TIMESTAMP()

Điều này sẽ cung cấp cho bạn thời gian ngày tĩnh như sau

8-15-2019 16:53:52

Nhưng không có chức năng như TIMESTAMP(). Bạn có thể dễ dàng thêm phần này: Chuyển đến công cụ> Trình chỉnh sửa tập lệnh và dán đoạn mã sau

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;

}

Lưu tập lệnh và trang tính của bạn đã sẵn sàng để sử dụng chức năng này.


Chào mừng bạn Các chức năng tùy chỉnh được tính toán lại mỗi khi bảng tính được mở và khi đối số của chúng thay đổi. Nhân tiện, một phiên bản đơn giản làfunction TIMESTAMP(){ return new Date()}
Rubén

không có cách nào để làm điều này ngoài việc chèn nó bằng tay?
Rishabh Gusain

1

Một tùy chọn khác là sao chép giá trị của ô và dán nó vào cùng một ô tương ứng, nhưng với các giá trị chỉ có tùy chọn dán đặc biệt.

  • Đầu vào =NOW()trong một ô.
  • Sao chép nó Ctrl+C
  • Dán trong cùng một ô Ctrl+Shift+V

tương tự như đã nêu trong một trong các liên kết trong các bình luận trước
47tucanae

0

Một tùy chọn khác (mở rộng câu trả lời này ... "Ví dụ: 1. Chọn A10: A20> nhấp chuột phải> Tiêu chí xác thực dữ liệu =" Danh sách từ phạm vi "> F2 2. Công thức trong ô F2: = mult (now (), 1 )))

Là tạo hai ô, một ô có tùy chọn hộp đánh dấu (A3) và ô bên cạnh (B3) với xác thực "danh sách từ phạm vi".

Nếu bạn làm điều đó, thì bất cứ khi nào bạn đánh dấu vào ô trong A3, công thức trong ô F2 sẽ làm mới, do đó, phần thả xuống trong B3 sẽ có xác thực dữ liệu với thời gian hiện tại, sau đó bạn chọn. Trừ khi bạn chọn lại danh sách thả xuống đó sau đó, nội dung của B3 sẽ không thay đổi.

Tôi đang dự định sử dụng điều này để đánh dấu một "đăng ký tham dự" với thời gian mỗi người tham dự có mặt trong một cuộc họp. Cách này sẽ tốt hơn nhiều so với phương thức hiện tại của tôi, đó là đặt công thức "ngay bây giờ" vào một ô (ví dụ B3) sẽ kích hoạt khi hộp kiểm bên cạnh (ví dụ: A3) được đánh dấu, sau đó chạy macro để chuyển đổi thời gian mỗi người tham dự chuyển từ một công thức động sang văn bản (vì vậy nó không thay đổi thành "bây giờ" mới khi "thời gian hiện tại" thay đổi.


0

Tôi đã thử tạo hàm dấu thời gian () với tập lệnh trên nhưng nó vẫn cập nhật cho tôi giống như cách Now () thực hiện. Tôi nghĩ rằng lựa chọn đáng tin cậy duy nhất là tổ hợp phím.


-1

tự động tính toán lại các chức năng dễ bay hơi như =NOW() =TODAY() =RAND() =RANDBETWEEN()trong bảng tính google có thể được đóng băng ( trong 30 phút )

đây là một ví dụ nhỏ để tạo hai khóa "đóng băng" thực hiện RANDBETweEN :

  1. tạo lây lan mới và đặt tên là " KEY1 "
  2. đặt giá trị cho phạm vi A1: P1 như:nhập mô tả hình ảnh ở đây
  3. chèn cái này vào ô 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)))

  4. tạo một bản sao / bản sao của toàn bộ bảng tính và đặt tên là " KEY2 "

  5. tạo bảng tính mới (thứ 3) và đặt tên là " ALL_KEYS "

  6. bật chia sẻ cho cả 3 bảng tính và trong tùy chọn nâng cao, chọn " Có thể chỉnh sửa " (xin lưu ý rằng nếu không thực hiện bước này, tất cả sẽ dẫn đến lỗi #REF vì các bảng tính đó cần được liên kết với nhau)

  7. trong bảng tính thứ 3 này, đặt ô A1A2 như sau:

    =IMPORTRANGE("paste-here-whole-url-of-KEY1-spreadsheet";"Sheet1!$A$3") =IMPORTRANGE("paste-here-whole-url-of-KEY2-spreadsheet";"Sheet1!$A$3")

  8. tạo bảng tính mới ( thứ 4 ) và đặt tên theo ý muốn (và cũng cho phép chia sẻ)

  9. chèn từng công thức vào bất kỳ ô nào (hoặc thậm chí bất kỳ tab Trang tính nào trên toàn bộ bảng tính):

    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")

  10. nhấp chuột phải vào ô C3 và chọn " Xác thực dữ liệu ... " sau đó chọn Tiêu chí chọn " Hộp kiểm " và chọn "Sử dụng giá trị ô tùy chỉnh". sau đó là đầu vào TRUE số 1 và là đầu vào FALSE số 0

  11. làm tương tự cho ô C4 (cái này sẽ hoạt động như công tắc bật / tắt thay vì bật / tắt)

  12. bây giờ hãy chuyển đến bảng tính " KEY1 " và " KEY2 " và trong cả hai đều chèn bảng này vào ô 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")

  13. đóng bảng tính " KEY1 ", " KEY2 " & " ALL_KEYS " và không bao giờ mở lại chúng

  14. làm xong! bước thưởng: để đảm bảo rằng hai khóa được tạo ngẫu nhiên đó là duy nhất, bạn có thể thêm cảnh báo như =IF($A$1<>$A$2;"unique";"reload")trong bảng tính " ALL_KEYS ", sau đó nhập nó vào bảng tính thứ 4 như=IMPORTRANGE("paste-here-whole-url-of-ALL_KEYS-spreadsheet"; "Sheet1!a10")

SUM: bây giờ bất cứ khi nào bạn bật / tắt "công tắc", nó sẽ tạo khóa mới ngẫu nhiên cho bạn, nó sẽ ở đó cho đến lần nhấn công tắc tiếp theo (thậm chí cả RELOAD của tab trình duyệt sẽ thay đổi các khóa được tạo ngẫu nhiên đó). như bạn có thể thấy có một bù đắp nhẹ key1 trong " key1 " và key1 trong " ALL_KEYS " & " 4 ", nhưng điều đó không có công đức dù sao đi nữa ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.