Saya mencoba menggunakan fungsi untuk mendapatkan hari ini sebagai angka di Excel. Sebagai contoh, ketika saya menulis pertanyaan ini saya seharusnya mendapatkan $ 18 $.
Saya mencoba menggunakan:
- fungsi
TODAY()
yang mengembalikan tanggal hari ini dalam format tanggal. Day(<date>)
yang mengembalikan jumlah hari<date>
. ItuDAY(19/05/1984)
harus mengembalikan 19.
Karena itu, rumusnya
=DAY(TODAY())
harus memberikan hasil yang saya inginkan.
Namun, pengembalian ini 18/01/1900 (saat menggunakan fungsi hari ini)
Jika saya gunakan
=TODAY()
dalam sel A1 dan kemudian
=DAY(A1)
di sel lain, saya mendapatkan hasil yang tepat.
Mengapa DAY (TODAY ()) tidak memberikan hasil yang diharapkan?
Dari latar belakang saya programmer matematika dan amatir (di Maple, Java, dan beberapa Python), komposisi fungsi saya tampaknya baik-baik saja.
Lebih umum, bagaimana Excel menangani komposisi formula?
microsoft-excel
microsoft-excel-2010
Taladris
sumber
sumber
=DAY(TODAY())
... Mengembalikan hari saat ini dalam sebulan (1 - 31) ..Jawaban:
Formula Anda benar; itu cara Excel memformat sel yang membingungkan. Misalnya, jika Anda secara manual menetapkan nilai sel
18
dan kemudian mengubah format ke tanggal, itu akan menampilkan itu sebagaiJanuary 18, 1900
.Jika Anda mengubah format sel dengan rumus Anda menjadi "Umum", itu akan menampilkan hasil yang Anda harapkan.
sumber
TODAY()
. Benar-benar menjengkelkan ketika Anda menggunakannya hanya dalam fungsi dekomposisi dan Anda harus mengganti formatnya.Saya pikir Anda mungkin bingung dalam berpikir bahwa Excel memanipulasi nilai 'tanggal': Tidak.
Cara menggunakan tanggal dan waktu di Excel
Di Excel, angka digunakan untuk mewakili tanggal (jumlah hari yang kemungkinan fraksional sejak 0-Jan-1900), tetapi angka tersebut disimpan dan dimanipulasi oleh Excel sebagai angka. TODAY () adalah fungsi bernilai angka, dan DAY () adalah fungsi dari argumen numerik ke hasil numerik.
Dalam kasus Anda, HARI (HARI INI ()) dengan benar mengembalikan 18 (angka) yang saya bayangkan Anda tetapkan ke sel yang diformat untuk menampilkan tanggal dalam bentuk singkat - sehingga 18 ditampilkan sebagai 18/01/1900. Karena bagi Excel, ketika 18 ditafsirkan sebagai tanggal, itulah artinya.
Jika Anda memformat sel itu ke format numerik, Anda akan melihat jawaban ditampilkan seperti yang Anda harapkan yaitu 18.
sumber
Tidak ada yang salah dengan Formula Anda. Apa yang ingin saya sarankan kepada Anda, jika Formula tidak menghasilkan hasil yang diharapkan maka itu menghasilkan Kesalahan atau hasil yang salah. Karena Anda belum menyebutkan apa yang dimiliki Formula memasak!
Sementara itu saya ingin menunjukkan kepada Anda apa saja kemungkinan untuk mendapatkan nilai DAY dalam Angka di Excel.
Periksa Screen Shot di bawah ini.
NB:
Tanggal ada di Sel E166 . Kolom 2 F memiliki hasil dan Kolom 3 menunjukkan Formula yang telah saya gunakan.
Anda juga dapat menggunakan fungsi TEXT untuk mendapatkan nilai Hari sebagai data Teks.
Nilainya adalah Warna MERAH memiliki format Sel Kustom DD, Anda dapat menerapkan pada Sel (S) untuk hanya menampilkan nilai Hari Tanggal (S).
Catatan, saya telah menyarankan Anda semua kemungkinan karena Anda telah menyebutkan bahwa pada dasarnya Anda bukan pengguna Excel.
Semoga ini bisa membantu Anda, jangan lupa untuk mengirim KESALAHAN yang telah diberikan Formula Anda.
sumber
Formula Anda disusun dengan benar. Hasil yang tidak terduga disebabkan oleh bagaimana berbagai jenis data disimpan oleh Excel.
Ada dua sistem serupa yang digunakan Excel untuk menyimpan tanggal, berdasarkan pengaturan tingkat buku kerja.
Sistem Tanggal 1900
Sistem Tanggal 1904
Kutipan ini diambil dari: https://support.microsoft.com/en-us/help/214330/differences-between-the-1900-and-the-1904-date-system-in-excel
Nomor seri adalah hitungan berjalan sederhana dari jumlah tanggal sejak 1 Januari 1900, termasuk tanggal fiktif 29 Februari 1900. Namun, fungsi DAY, dapat juga dianggap sebagai fungsi konversi tipe data. Dibutuhkan nomor seri tanggal sebagai input dan mengembalikan integer sebagai output. Dalam contoh Anda, jika kami menganggap 18 sebagai mewakili seri tanggal, dan menghitung 18 hari ke depan sejak 1 Januari 1900, kami berakhir dengan 18 Januari 1900.
Perbaikan sederhana di ujung depan adalah mengubah format sel Anda menjadi sesuatu yang lain seperti Angka atau Umum . Ini akan memberitahu Excel untuk menampilkannya kepada Anda sebagai integer, daripada mencoba menafsirkannya sebagai serial tanggal. Di bagian belakang, semuanya baik-baik saja. Hasil integer dapat digunakan dalam rumus lain apa pun dan akan berperilaku dengan benar.
Sebagai contoh, katakanlah kita ingin membuat formula bersyarat yang memberi tahu kita apakah tanggal 15 telah berlalu pada bulan ini. Kita dapat melakukan ini menggunakan:
Akan jauh lebih sulit untuk mencapai hasil yang sama menggunakan seri tanggal, sehingga fungsi DAY mengembalikan integer akhirnya menjadi lebih berguna dalam konteks kasus penggunaan umum Excel.
sumber