ระบุวันที่ฉันจะนำวันในสัปดาห์ (เช่น "วันจันทร์") เข้าสู่เซลล์ใน Excel ได้อย่างไร
ระบุวันที่ฉันจะนำวันในสัปดาห์ (เช่น "วันจันทร์") เข้าสู่เซลล์ใน Excel ได้อย่างไร
คำตอบ:
ตัวอย่างง่ายๆ:
เซลล์ A1: 1/8/2009
เซลล์ B1: = ข้อความ (วันธรรมดา (A1), "dddd")
สิ่งนี้จะพิมพ์วันที่ที่ต้องการ
นี่คือสิ่งที่คุณต้องการหรือไม่
คำตอบที่ให้ไว้ข้างต้นใช้งานได้โดยฟลุคเท่านั้นเนื่องจาก Excel คิดว่า 1/1/1900 เป็นวันอาทิตย์ * และโดยค่าเริ่มต้น Excel ใช้วันอาทิตย์เป็นวันแรกของสัปดาห์สำหรับฟังก์ชั่น Weekday
สิ่งที่คุณกำลังคำนวณในวิธีนั้นคือวันของสัปดาห์เป็นตัวเลขแล้วจัดรูปแบบนั้นเป็นวันตามตัวเลขนั้นตีความว่าเป็นวันที่ เช่นถ้าวันที่ของคุณคือ 1/2/2003 และคุณใช้ฟังก์ชัน WEEKDAY ผลลัพธ์จะเป็น 7 (= วันเสาร์) เมื่อคุณจัดรูปแบบสิ่งนี้เป็น "dddd" คุณจะได้รับชื่อวันของวันที่ 7 ใน Excel ตั้งแต่ "ยุค" ของมันนั่นคือ 7/1/1900 ซึ่งเกิดขึ้นเป็นวันเสาร์ * สูตรนี้จะแตกถ้ามีใครเปิดเป็นใครมีตัวเลือกให้เลือกใช้ระบบวันที่แบบอิง 1904 เนื่องจาก 1/1/1904 ไม่ใช่วันอาทิตย์ แต่เป็นวันศุกร์ (ใช่ฉันรู้ว่าแทบจะไม่มีใครใช้สิ่งนั้น แต่คุณไม่ต้องการสร้างโซลูชันที่ต้องพึ่งพาคุณใช่ไหม)
คุณสามารถทำให้สูตรสั้นลงเร็วขึ้นและมีประสิทธิภาพมากขึ้นเพียงแค่ใช้
=TEXT(A1,"dddd")
แน่นอนว่าคุณสามารถจัดรูปแบบเซลล์วันที่ด้วยรูปแบบที่กำหนดเองตามที่แนะนำแล้วขึ้นอยู่กับว่าคุณต้องการสิ่งนี้ในคอลัมน์แยกต่างหากหรือไม่ ฉันมักจะใช้รูปแบบวันที่เช่น
ddd dd mmm yyyy
เพื่อให้เช่นวันที่ 1 กุมภาพันธ์ 2546ดังนั้นวันที่จะชัดเจน แต่แสดงชื่อวันทำงานด้วย
การใช้คอลัมน์ที่สองและฟังก์ชั่น TEXT เป็นสิ่งจำเป็นหากคุณต้องการใช้วันทำงานอย่างชัดเจนในจดหมายเวียน (เช่น) เช่นเดียวกับสิ่งต่าง ๆ เช่นสกุลเงินเป็นต้น Excel> Word การผสานผ่านค่าที่จัดเก็บจริงแทนที่จะเป็นบน รุ่นที่จัดรูปแบบหน้าจอดังนั้นไม่ว่ารูปแบบเซลล์จะเป็นอย่างไร Word ก็เห็นตัวเลขที่น่ากลัว ช่องข้อความที่แท้จริงจะถูกส่งผ่าน 'ตามสภาพ' และแสดงอย่างถูกต้องใน Word
* ในความเป็นจริงมันเป็นวันจันทร์ แต่ Excel ถูกเขียนให้ตรงกับวันที่ไม่ถูกต้องใน Lotus 1-2-3 ซึ่งถือว่า 1900 เป็นปีอธิกสุรทินเมื่อไม่ได้
ความเป็นไปได้อื่นขึ้นอยู่กับสิ่งที่คุณต้องการทำกับวันที่หลังจากนั้นคือการตั้งค่ารูปแบบของเซลล์เป็นกำหนดเอง: dddd
=A1
ในตัวอย่างจากคำตอบแรก
ฉันพบว่าIF
คำสั่งซ้อนอาจยุ่งยาก แต่ใช้งานได้ อย่างไรก็ตามหากคุณต้องการประหยัดการพิมพ์เพียงเล็กน้อยคุณสามารถลอง:
=CHOOSE(WEEKDAY(A2), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")
หรือถ้าคุณต้องการชื่อเต็ม:
=CHOOSE(WEEKDAY(A2), "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
ในตัวอย่างนี้ "A2" อาจเป็นสิ่งที่เซลล์ (หรือสูตร) มีวันที่ที่เป็นปัญหา ตัวอย่างเช่น
=CHOOSE(WEEKDAY(TODAY()), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")
จะพิมพ์ตัวย่อสามตัวอักษรสำหรับสิ่งที่วันนี้
คุณสามารถ จำกัด วงคำตอบโดยใช้ [$ nnn] ก่อนรูปแบบ (ดังนั้นรหัสที่กำหนดเองคือ: [$ nnn] dddd; @) เปลี่ยน nnn ด้วยรหัสภาษาที่เหมาะสม ฉันไม่มีรายการ แต่อย่างใดรหัสภาษาอังกฤษคือ -409 (และท้องถิ่นของฉันคือ -421)
ฉันคิดว่าคุณสามารถทดลองใช้รูปแบบตัวเลขเปลี่ยนฟิลด์ภาษาจากนั้นเปลี่ยนกลับเป็นรูปแบบกำหนดเอง
เซลล์ A1: 1/8/2009 เซลล์ B1: = A1 แล้วกด ctrl + 1 (เซลล์รูปแบบ) เลือกแท็บตัวเลขแล้วคลิกกำหนดเองจากนั้นพิมพ์ "DDDD" ในประเภท txtbox
แสดงวันที่ปัจจุบัน
=TEXT(WEEKDAY(MONTH(TODAY())),"dddd")
แสดงวันที่ปัจจุบันด้วยข้อความที่ต้องการ
=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")
จัดรูปแบบเซลล์ - วันที่ - ประเภทปฏิทิน (เลือกภาษาอังกฤษแบบคริสต์ศักราช) - ประเภท (ส่วนมีรูปแบบที่คุณต้องการวันพุธที่ 14 มีนาคม 2544)
ฟังก์ชัน WEEKDAY สามารถใช้ในรหัส Vba ได้ ตัวอย่างเช่น :
Label1.Caption = WeekdayName(Weekday(TextBox1, 0), False, 0)
ชื่อวันได้มาจาก TextBox1 ในตัวอย่างด้านบน ผลคือ"จันทร์"
ฉันใช้ฟังก์ชั่นนี้เมื่อฉันสร้างรูปแบบผู้ใช้เกี่ยวกับรายการวันที่ไปยังเซลล์ที่ใช้งานด้วยเมนูคลิกขวา