Google sheet xóa các hàng dựa trên ngày

Barry có một trang tính lớn chứa vài nghìn hàng dữ liệu. Cột B chứa một ngày và anh ấy cần xóa tất cả các hàng có ngày trong cột B sớm hơn một ngày giới hạn cụ thể. Barry thắc mắc về cách dễ nhất để làm điều này với quá nhiều dữ liệu

Điều này khá dễ thực hiện, với phương pháp bạn sử dụng phụ thuộc vào tần suất bạn cần thực hiện và cách bạn muốn làm việc với dữ liệu của mình. Nếu bạn không quan tâm đến thứ tự dữ liệu của mình, thì phương pháp đơn giản nhất là phương pháp mà tôi gọi là phương pháp "sắp xếp và xóa"

  1. Chọn ô B2. (Điều này giả định rằng B2 là ngày đầu tiên trong các hàng dữ liệu của bạn vì hàng 1 chứa các tiêu đề. )
  2. Hiển thị tab Dữ liệu của dải băng
  3. Nhấp vào công cụ Sort Oldest to Newest. Excel sắp xếp dữ liệu theo ngày trong cột B, với ngày cũ nhất trong hàng 2
  4. Chọn và xóa các hàng có chứa ngày trước thời hạn của bạn

Điều này hoạt động tốt nếu thỉnh thoảng bạn chỉ cần thực hiện tác vụ đó và nếu bạn không phiền khi các hàng trong dữ liệu được sắp xếp lại. Nếu việc sắp xếp lại là một vấn đề, thì bạn có thể muốn thêm một cột vào dữ liệu của mình và điền vào cột đó các giá trị từ 1 đến bao nhiêu hàng dữ liệu mà bạn có. Sau đó, bạn có thể thực hiện phương pháp "sắp xếp và xóa", nhưng sau đó sử dụng dữ liệu của bạn dựa trên các giá trị trong cột bạn đã thêm

Tất nhiên, bạn cũng có thể sử dụng phương pháp "lọc và xóa", phương pháp này sẽ để dữ liệu của bạn theo thứ tự ban đầu mà không cần cột trợ giúp

  1. Chọn ô B2. (Điều này giả định rằng B2 là ngày đầu tiên trong các hàng dữ liệu của bạn vì hàng 1 chứa các tiêu đề. )
  2. Nhấn Ctrl+Shift+L. Excel áp dụng AutoFilter cho dữ liệu của bạn. (Bạn sẽ có thể nhìn thấy các mũi tên thả xuống nhỏ bên cạnh các tiêu đề ở hàng 1. )
  3. Nhấp vào mũi tên thả xuống bên cạnh tiêu đề Ngày trong ô B1. Excel hiển thị một số tùy chọn sắp xếp và lọc
  4. Di chuột qua tùy chọn Bộ lọc ngày. Excel hiển thị nhiều tùy chọn hơn
  5. Chọn tùy chọn Trước. Excel hiển thị hộp thoại Custom AutoFilter
  6. Trong hộp ở bên phải của "Đã trước", chỉ định một ngày sau ngày giới hạn của bạn
  7. Nhấp vào OK. Excel áp dụng bộ lọc và bạn chỉ có thể nhìn thấy những hàng vào hoặc trước ngày giới hạn của bạn
  8. Chọn tất cả các hàng, nhưng không phải hàng 1. (Đó là vì hàng 1 chứa tiêu đề của bạn. )
  9. Hiển thị tab Trang chủ của dải băng
  10. Nhấp vào công cụ Xóa. Excel xóa tất cả các hàng đã chọn
  11. Hiển thị tab Dữ liệu của dải băng
  12. Nhấp vào công cụ Bộ lọc để xóa Bộ lọc Tự động

Nếu bạn cần thực hiện tác vụ xóa hàng thường xuyên, thì bạn sẽ không thể đánh bại sự tiện lợi của việc sử dụng macro. Macro sau đây giả định rằng bạn đã đặt ngày giới hạn vào ô K1. Nó lấy ngày này và sau đó xem xét từng hàng trong dữ liệu của bạn, xóa bất kỳ hàng nào trước ngày giới hạn này

Xin chào @Ruriko, điều này khá phức tạp trong n8n và tôi nghĩ Google Trang tính có thể không phải là cơ sở dữ liệu tốt nhất nếu bạn cần tự động xóa các hàng. Về cơ bản, bạn cần lấy chỉ mục cho mỗi hàng và sau đó có thể xây dựng thứ gì đó như bên dưới để thực hiện công việc. Tôi đang sử dụng biểu thức vị trí $ ở đây để lấy chỉ mục

Điều này giả sử dữ liệu của bạn bắt đầu ở hàng thứ hai như vậy

Google sheet xóa các hàng dựa trên ngày

hình ảnh1036×168 12. 9KB

Nếu không, bạn cần điều chỉnh biểu thức “Bắt đầu chỉ mục” của nút Xóa hàng trong ví dụ trên cho phù hợp

Điều quan trọng nữa là chỉ chạy cái này cho một hàng duy nhất (đó là những gì nút Keep 1 thực hiện trong ví dụ) vì sau mỗi lần chạy, ID của mỗi hàng sẽ thay đổi, vì vậy ví dụ này sẽ cần được thực hiện nhiều lần

Nếu bạn không nhất thiết phải yêu cầu Google Trang tính, chẳng hạn, bạn có thể xem cơ sở dữ liệu như Baserow để thay thế. Tìm nạp các hàng từ Baserow cung cấp cho bạn một ID duy nhất cho hàng phạm vi tiếp cận, điều này sẽ giúp việc xóa dữ liệu dễ dàng hơn nhiều (nó cũng cho phép tìm kiếm dữ liệu cũ hơn 14 ngày mà không phải sử dụng nút IF)

Thứ hai, nếu một cột trong trang tính được định dạng là cột ngày thực chứ không phải cột văn bản, thì sắp xếp trong Glide sẽ hoạt động bất kể bạn định dạng ngày của mình như thế nào. Khi ngày được tạo trong Glide thông qua bộ chọn ngày hoặc ngày giờ, định dạng thực tế được lưu vào trang tính ở định dạng ngày ISO thực sự 2020-02-10T22:08:19Z. Đó là những gì được lưu trữ đằng sau hậu trường trong trang tính google. Bạn vẫn có thể sửa đổi định dạng trong trang tính để ngày trông khác đi, nhưng google và Glide sẽ coi đó là cột ngày. Bởi vì đó là cột ngày tháng, định dạng không quan trọng khi sử dụng kiểu trượt. Nó nên sắp xếp theo ngày đúng cách. Nếu bạn đang nhập ngày theo cách thủ công vào trang tính, thì nó có thể được hoặc không được nhận dạng là định dạng ngày thực. Do đó, cấu trúc ngày ở định dạng yyyymmdd sẽ đảm bảo rằng việc sắp xếp sẽ hoạt động bình thường và trình duyệt sẽ vẫn nhận ra đó là một ngày trong lịch

Rất nhiều đề xuất trước đây của tôi dựa trên ngày lưu trữ trượt ở định dạng mm/dd/yyyy. Điều này không phù hợp với người dùng quốc tế xem ngày ở định dạng dd/mm/yyyy. Đề xuất của tôi về việc định dạng lại ngày thành yyyy/mm/dd là một ngày sẽ được quốc tế công nhận vì đây là định dạng ngày được quốc tế công nhận. Kể từ đó, Glide đã thay đổi để lưu trữ ngày ở định dạng ISO thực và điều đó hầu như đã loại bỏ mọi vấn đề về ngày mà mọi người gặp phải