Diberi tanggal, bagaimana cara memasukkan hari dalam seminggu (mis. "Senin") ke dalam sel di Excel?
Diberi tanggal, bagaimana cara memasukkan hari dalam seminggu (mis. "Senin") ke dalam sel di Excel?
Jawaban:
Contoh sederhana:
Sel A1: 1/8/2009
Sel B1: = TEXT (WEEKDAY (A1), "dddd")
Ini akan, untuk tanggal yang diberikan, mencetak hari yang sesuai.
Apakah ini yang kamu inginkan?
Jawaban yang diberikan di atas hanya bekerja secara kebetulan karena Excel berpikir bahwa 1/1/1900 adalah hari Minggu * dan secara default Excel menggunakan hari Minggu sebagai hari pertama dalam seminggu untuk fungsi Hari Kerja.
Apa yang sebenarnya Anda hitung dalam metode itu adalah hari dalam seminggu sebagai angka, lalu memformatnya sebagai hari berdasarkan angka yang ditafsirkan sebagai tanggal. Misal jika tanggal Anda adalah 1/2/2003 dan Anda menggunakan fungsi WEEKDAY, ini menghasilkan 7 (= Sabtu). Ketika Anda kemudian memformat ini sebagai "dddd" Anda sebenarnya mendapatkan nama hari hari ke-7 di Excel sejak "zaman", yaitu 7/1/1900, yang kebetulan merupakan hari Sabtu *. Formula ini akan rusak jika seseorang membukanya yang memiliki opsi yang dipilih untuk menggunakan sistem tanggal berbasis 1904, karena 1/1/1904 bukan hari Minggu, tetapi hari Jumat. (ya saya tahu hampir tidak ada yang menggunakan itu, tetapi Anda tidak ingin membangun solusi yang bergantung pada itu kan?)
Anda dapat membuat rumus lebih pendek, lebih cepat dan lebih kuat hanya dengan menggunakan
=TEXT(A1,"dddd")
Anda tentu saja dapat memformat sel-sel tanggal sendiri dengan format khusus seperti yang telah disarankan, tergantung pada apakah Anda benar-benar membutuhkannya dalam kolom terpisah atau tidak. Saya sering menggunakan format tanggal seperti
ddd dd mmm yyyy
untuk memberikan mis Sat 01 Feb 2003 sehingga tanggalnya eksplisit tetapi menunjukkan nama hari kerja juga.
Menggunakan kolom kedua dan fungsi TEKS sangat penting jika Anda ingin menggunakan hari kerja secara eksplisit di suatu tempat dalam gabungan surat (misalnya), sama untuk hal-hal seperti mata uang dan sebagainya. Excel> Penggabungan kata melewati nilai tersimpan yang sebenarnya yang mendasari daripada pada versi layar-diformat, jadi terlepas dari format sel, Word melihat beberapa angka yang mengerikan. Bidang teks sejati dilewatkan 'apa adanya' dan ditampilkan dengan benar di Word.
* sebenarnya itu adalah hari Senin tetapi Excel ditulis untuk mencocokkan tanggal yang salah dalam Lotus 1-2-3 yang memperlakukan tahun 1900 sebagai tahun kabisat ketika bukan.
Kemungkinan lain, tergantung pada apa yang ingin Anda lakukan dengan tanggal sesudahnya, adalah mengatur format sel ke Kustom: dddd
=A1
pada contoh dari jawaban pertama.
Saya menemukan bahwa IF
pernyataan bersarang bisa rumit, tetapi tidak berhasil. Namun, jika Anda ingin menyimpan sedikit pengetikan, Anda dapat mencoba ini:
=CHOOSE(WEEKDAY(A2), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")
Atau, jika Anda membutuhkan nama lengkap:
=CHOOSE(WEEKDAY(A2), "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
Dalam contoh ini, "A2" dapat berupa sel apa pun (atau rumus) yang berisi tanggal yang dimaksud. Contohnya:
=CHOOSE(WEEKDAY(TODAY()), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")
akan mencetak singkatan tiga huruf untuk apa pun hari ini.
Anda juga dapat melokalkan jawaban dengan menggunakan [$ nnn] sebelum format (jadi kode khususnya adalah: [$ nnn] dddd; @). ubah nnn dengan kode bahasa yang tepat. saya tidak punya daftar, tapi entah bagaimana, kode bahasa inggris -409 (dan lokal saya -421).
saya pikir Anda dapat bereksperimen dengan format Angka, mengubah bidang bahasa, lalu mengubahnya kembali ke format khusus.
Sel A1: 1/8/2009 Sel B1: = A1 lalu tekan ctrl + 1 (format sel) pilih nomor tab, klik kustom lalu ketik "DDDD" pada jenis txtbox
Menampilkan tanggal saat ini
=TEXT(WEEKDAY(MONTH(TODAY())),"dddd")
Menampilkan tanggal saat ini dengan teks yang diperlukan.
=CHOOSE(WEEKDAY(MONTH(TODAY())), "S-U-N-D-A-Y","M-O-N-D-A-Y","T-U-E-S-D-A-Y","W-E-D-N-E-S-D-A-Y","T-H-R-S-D-A-Y","F-R-I-D-A-Y","S-A-T-U-R-D-A-Y")
Fungsi WEEKDAY dapat digunakan dalam Kode Vba. Sebagai contoh :
Label1.Caption = WeekdayName(Weekday(TextBox1, 0), False, 0)
Nama hari didapat dari TextBox1 dalam contoh di atas. Hasilnya adalah "Senin" .
Saya menggunakan fungsi ini ketika saya membuat form pengguna tentang entri tanggal ke sel aktif dengan menu klik kanan.