Excel Formula, dapatkan tanggal Rabu sebelumnya

3

Saya punya rumus berikut,

=WORKDAY(TODAY(),-2)

Yang membuat saya 30 Januari.

Apakah ada yang bisa saya dapatkan 30 Januari tanpa memasukkan -2 dalam formula ini? Saya ingin dia formula untuk selalu mendapatkan tanggal Rabu sebelumnya, tapi saya secara manual hanya mengurangi hari kerja hari ini untuk mendapatkan Rabu sebelumnya.

excelguy
sumber

Jawaban:

1

Sebagai referensi, jawaban yang diterima sebelumnya secara salah menampilkan tanggal di masa depan untuk beberapa skenario

Formula ini menampilkan Rabu sebelumnya .

=TODAY()-MOD(WEEKDAY(TODAY())+2,7)-1

Jika hari ini adalah hari Rabu, itu juga akan menghasilkan hari Rabu sebelumnya.

MOD(..., 7) selalu mengembalikan nilai dari 0 hingga 6.

Jadi, -MOD(...)-1selalu kurangi nilai 1 hingga 7 (hari) dari TODAY().

(Anda dapat menyesuaikan nilai +2dalam rumus untuk mendapatkan hari kerja yang berbeda)


Contoh:

  • Hari ini 2019-2-25 (Mon), keluaran2019-2-20 (Wed)
  • Hari ini 2019-2-26 (Tue), keluaran2019-2-20 (Wed)
  • Hari ini 2019-2-27 (Wed), keluaran2019-2-20 (Wed)
  • Hari ini 2019-2-28 (Thu), keluaran2019-2-27 (Wed)
Wilson
sumber
bagus! ini lebih dari yang saya inginkan. apakah ada cara menggunakan hari Rabu saat ini daripada kembali ke sebelumnya?
excelguy
ya, itu akan menjadi lebih sederhana. di sini Anda: =TODAY()-MOD(WEEKDAY(TODAY())+3,7). yang MOD(...)selalu mengembalikan nilai dari 0 sampai 6, sehingga Anda bisa mendapatkan hasil mulai dari [hari ini-6days] untuk [hari ini].
wilson
8

Bagaimana tentang:

=TODAY() - MOD(TODAY(), 7) + 4

Yang berarti dapatkan hari pertama minggu ini (Sabtu), lalu tambahkan 4 = Rabu, (opsional -7 untuk minggu sebelumnya).

Jika Anda ingin minggu sebelumnya (jika Anda masih di hari Minggu atau Senin), maka gunakan ifuntukMOD(TODAY(), 7)

Ahmed Ashour
sumber
1
Saya mengalami kesulitan mengikuti penjelasan. Mengapa hari pertama dalam minggu ini adalah hari Sabtu (berbeda dengan hari Senin atau Minggu tergantung pada sistem kalender yang Anda gunakan)? Jika Anda menambahkan 4 ke hari Sabtu saya dapat melihat bahwa Anda mendapatkan hari Rabu, tetapi mengapa -7 akan membawa Anda ke hari Rabu sebelumnya? Sepertinya saya pada hari Sabtu - 7 = Sabtu. Catatan: Saya tidak mempertanyakan formula, tetapi hanya penjelasan yang menyertainya.
Jon Bentley
@JonBentley the -7 dimaksudkan untuk ditambahkan ke rumus yang ditunjukkan, tidak disubstitusi untuk +4. Mengenai mengapa MOD (TODAY (), 7) menghasilkan hasil yang sangat membantu ini, saya juga ingin tahu.
Alex M
1
@AlexM Tanggal di excel seperti integer. Hari ini, misalnya, adalah 43497. Jika Anda membaginya dengan 7 menggunakan rumus MOD, akan selalu mengembalikan 6 jika satu hari adalah hari Jumat. Ini berfungsi karena hari pertama yang unggul menerima. Dengan membaginya dengan 7, Anda menjamin bahwa Anda akan selalu mendapatkan angka dari 0-6 (Karena 7/7 = 1, yang tidak menghasilkan apa-apa). 8/7 mengembalikan 1 untuk semua orang dan 1 tidak dibagi.
Moacir
Jadi sekarang Anda pergi ke hari Sabtu minggu ini (mengingat hari Sabtu akan menjadi hari pertama), maka +4 mengoreksinya menjadi hari Rabu
Moacir
@ Moacir terima kasih atas informasinya; Saya kira ini kemungkinan besar adalah umpan untuk pertanyaan yang terpisah, tetapi saya merasa sangat penasaran (yang hanya membuatnya cocok dengan segala hal lain tentang cara Excel bekerja dengan tanggal dalam pengalaman saya, saya kira) bahwa meskipun HARI INI () mengembalikan tanggal ' diformat sebagai tanggal 'Anda masih dapat menggunakan operasi numerik terhadap nilai tanggal yang mendasarinya. Menambah kebingungan saya, ketika saya memasukkan = MOD (HARI INI (), 7) ke dalam sel kosong, untuk menguji perilaku ini, hasilnya 1/6/1900 - yang sekarang saya pahami berarti mengembalikan angka 6 (seperti rumus yang Anda harapkan ), hanya diformat sebagai tanggal.
Alex M