Tôi muốn để Excel 365 tạo một bảng với mỗi trường là thứ Sáu trong tháng dựa trên ngày bắt đầu. Tại sao nó kéo ngày trước?


1

Tôi đang tạo một bảng tính cho nhu cầu tài chính cá nhân của mình và bảng của tôi bắt đầu vào ngày 1 tháng Sáu, thứ Bảy.

Tôi đang sử dụng công thức =U1-WEEKDAY(U1)+6 để tính mỗi thứ Sáu cho ngày trả lương.

Trong bảng của tôi, công thức được nhập vào nơi 5/31 đang hiển thị. Đối với những ngày tiếp theo, tôi đang lấy ô trên +7. Tôi không chắc tại sao cùng một công thức tôi đã sử dụng ở nơi khác sẽ khiến bản ghi đầu tiên là 5/31 chỉ trong bảng này, ngày TRƯỚC ngày hạt giống ban đầu. 5/31 đã được tính vào tháng 5.

Tôi sẽ đánh giá cao bất kỳ cái nhìn sâu sắc về những gì tôi đã làm sai để tôi có thể sửa chữa nó.

Công thức cho 11 tháng khác trong năm.

Bảng vấn đề:
Problem Table


Công thức của bạn luôn có kết quả vào ngày hôm trước cho bất kỳ thứ Bảy nào. Có thể đó là tháng sáu là tháng duy nhất bạn có (cho đến nay) trong đó ngày đầu tiên là thứ bảy? Thực hiện tìm kiếm "Excel thứ sáu đầu tiên trong tháng" cho nhiều kết quả về các cách để có được thứ sáu đầu tiên trong bất kỳ tháng nào
cybernetic.nomad

Câu trả lời:


1

Bạn nói rằng bạn đang sử dụng công thức =U1-WEEKDAY(U1)+6 với ngày trong ô U1 là thứ bảy Để trả lời câu hỏi của bạn, bạn cần tìm ra những gì WEEKDAY(U1) sẽ trở lại.

Excel WEEKDAY() Hàm lấy một ngày và trả về một số trong khoảng 1-7 đại diện cho ngày trong tuần. Theo mặc định, TUẦN trả về 1 cho Chủ nhật và 7 cho Thứ Bảy. Do đó, trong trường hợp của bạn WEEKDAY(U1) sẽ trả về 7. Điều này sẽ biến công thức của bạn thành phép tính U1-7+6.

Một lĩnh vực đôi khi làm tôi bực mình là Excel không tuân theo quy tắc BODMAS thực sự . Nó tuân theo công thức từ trái sang phải trừ khi có dấu ngoặc. Nó sẽ tính toán mọi thứ trong ngoặc từ trái sang phải trước, sau đó tính toán phần còn lại từ trái sang phải. Nếu nó tuân theo BODMAS, nó sẽ trả về kết quả là U1-13. Trong Excel, công thức của bạn sẽ cho bạn kết quả là U1-1 (ngày hôm trước).

Nếu U1 là một ngày thứ tư, nó sẽ là U1-4+6 sẽ cung cấp cho bạn 2 ngày sau ngày U1. Bạn có thấy những gì công thức đang làm?

Công thức tính ra ngày thứ Sáu trong tuần Chủ nhật-Thứ Bảy cho ngày được đưa ra trong U1.

Nếu bạn muốn thứ Sáu trong tuần sau ngày U1 bạn có thể đặt công thức hiện tại trong ngoặc và thêm 7 vào công thức =(U1-WEEKDAY(U1)+6)+7

Sẽ có một vấn đề mặc dù với công thức này. Nếu bạn thay đổi ngày bắt đầu của mình thành Thứ Tư, ngày này sẽ chuyển ngày thanh toán đầu tiên sang Thứ Sáu trong tuần tiếp theo do đó thiếu một ngày thanh toán.

Nếu bạn muốn sử dụng công thức ban đầu của mình, bạn sẽ cần sử dụng một IF() chức năng kiểm tra nếu U1 là thứ sáu hoặc trước khi đầu tiên.

=IF(WEEKDAY(U1)=<6,U1-WEEKDAY(U1)+6,(U1-WEEKDAY(U1)+6)+7

Một công thức hiệu quả hơn để sử dụng (ngắn và không có IF() chức năng) là

= U1 + (7-TUẦN (U1,2) +5)

Các ,2 bên trong WEEKDAY() Hàm thay đổi định dạng ngày trong tuần từ Chủ Nhật-Thứ Bảy sang Thứ Hai-Chủ Nhật với Thứ Hai = 1


Nếu tôi sử dụng "= IF (WEEKDAY (U1) = & lt; 6, U1-WEEKDAY (U1) +6, (U1-WEEKDAY (U1) +6) +7" ở những nơi khác trong bảng tính để ngăn "lỗi" này khỏi xảy ra lần nữa, công thức này có phá vỡ phần còn lại của bảng tính của tôi không? Bảng này là một trong mười hai cho cả năm và đây không phải là lần duy nhất điều này xảy ra.
Crystal Collins

@CstallCollins - Nếu bố cục bảng tính giống nhau thì bạn có thể sử dụng nó trong tất cả các trang tính
Chris Rogers
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.