ฟังก์ชัน LibreCalc Date ส่งกลับเดือนผิด


0

ฉันมีสเปรดชีตที่มีสามคอลัมน์สำหรับ "วันที่", "สกุลเงิน" และ "จำนวนเงิน"

Date        Currency    Amount  Month
06.02.2015  EUR         188     March
30.01.2015  EUR         285     January

ฉันสร้างคอลัมน์ "เดือน" จากคอลัมน์วันที่โดยใช้สูตรต่อไปนี้แล้วจัดรูปแบบคอลัมน์ "เดือน" เป็น MMMM:

=DATE(YEAR(A2);MONTH(A2);DAY("0"))

(ฉันทำเช่นนี้เพราะฉันต้องการจัดกลุ่มข้อมูลในตาราง Pivot ตามเดือน)

ปัญหา: ดังที่คุณเห็นจากข้อความที่ตัดตอนมาเดือนที่ส่งคืนสำหรับค่าแรกของเดือนนั้นไม่ถูกต้อง มันบอกว่า "March" เมื่อเป็น "กุมภาพันธ์" จริงๆ ฉันทำอะไรผิดที่นี่

สำหรับมูลค่าเดือนแรก (หรือค่าขึ้นอยู่กับจำนวนรายการที่มีสำหรับเดือนแรกที่แสดงรายการ) ในสเปรดชีตดูเหมือนว่า libreCalc จะนับหนึ่งเดือนล่วงหน้า ค่าที่เหลือซึ่งเริ่มต้นในเดือนถัดไปนั้นถูกต้องและทำงานได้ดี มันไม่ได้ทำให้แตกต่างว่าเดือนที่มีการระบุไว้ในเดือนมกราคมถึงเดือนธันวาคมหรือวิธีอื่น ๆ เช่นในตัวอย่างของฉัน

ขอบคุณสำหรับการช่วยเหลือ!


ยังไม่มีคำตอบ ... นี่เป็นฟอรัมที่เหมาะสมสำหรับคำถามหรือไม่
Kat

คำตอบ:


1

ฉันเชื่อว่าปัญหาคือฟังก์ชัน DAY ("0") ส่งคืนคำตอบ 30 เนื่องจากกุมภาพันธ์มีเวลาน้อยกว่า 30 วันสิ่งนี้จะทำให้เกิดปัญหาสำหรับวันที่ในเดือนกุมภาพันธ์

การป้อนเพียง 0 สำหรับอาร์กิวเมนต์ที่สามของฟังก์ชัน DATE จะทำให้ฟังก์ชันส่งคืนวันสุดท้ายของเดือนก่อนหน้าซึ่งไม่ใช่สิ่งที่คุณต้องการ ฉันขอแนะนำให้ใช้ 1 สำหรับอาร์กิวเมนต์ที่สามของฟังก์ชัน DATE:

=DATE(YEAR(A2);MONTH(A2);1)

1
โซลูชันของคุณใช้งานได้ แต่คุณได้คำอธิบายที่ผิดเล็กน้อย Day ส่งคืนวันที่ของเดือนสำหรับวันที่กำหนด หากแทนที่จะใช้วันที่เป็นอาร์กิวเมนต์คุณต้องใช้ตัวเลข (ซึ่งควรยกเว้นข้อความคำพูด แต่ Calc กำลังให้อภัย) มันจะถูกนำมาเป็นวันที่หลายวันจากวันฐาน 30 ธันวาคม 1899 ดังนั้นวันที่ 0 เป็นวันที่ 30 ของเดือนธันวาคม 1899 ดังนั้นผลลัพธ์ 30 รายการ อาร์กิวเมนต์ควรเป็น 1 ตามที่คุณแนะนำหรือ DAY (A2) แต่ความรุ่งโรจน์สำหรับการรับรู้ปัญหาและแนะนำวิธีการทำงาน +1
fixer1234
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.