:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

สูตรนับวันค่ะ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

สูตรนับวันค่ะ

#1

Post by suka »

สวัสดีอาจารย์และทุกท่านค่ะ ขอความช่วยเหลือปรับสูตรนับวันค่ะ

เซลล์ B2 = 28/2/2022
เซลล์ B3 = 1/3/2022

สูตรในเซลล์ B4
ิ=TEXT(DATEDIF(B2,B3,"y"),"0 ""ปี"";;;")&TEXT(DATEDIF(B2,B3,"ym")," 0 ""เดือน"";;;")&TEXT(DATEDIF(B2,B3+1,"md")," 0 ""วัน"";;;")

สูตรนับได้ 5 วันค่ะ ควรปรับแก้สูตรอย่างไรให้นับเป็น 2 วันคะ ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1544
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: สูตรนับวันค่ะ

#2

Post by norkaz »

...

ไม่ค่อยเข้าใจ ความต้องการ

=B3-B2+1&" วัน"

Norkaz
notta_nobi
Member
Member
Posts: 93
Joined: Mon May 13, 2013 4:04 pm
Excel Ver: 2016

Re: สูตรนับวันค่ะ

#3

Post by notta_nobi »

ผมลองเปิดเอกสารแนบดูก็แสดง 2 วันนะครับ
อาจจะเป็นที่ Excel อาจใช้ version เก่า
ของผม 2016 ok ครับ
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: สูตรนับวันค่ะ

#4

Post by suka »

ขอบคุณทั้ง 2 ท่านค่ะ

ใช่ค่ะยังใช้ Excel version เก่า 2007 ค่ะ
ไม่ทราบว่าสามารถปรับสูตรเพื่อใช้กับ Excel 2007 ได้ไหมคะ?
User avatar
norkaz
Gold
Gold
Posts: 1544
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: สูตรนับวันค่ะ

#5

Post by norkaz »

suka wrote: Tue Mar 01, 2022 6:07 pm ขอบคุณทั้ง 2 ท่านค่ะ

ใช่ค่ะยังใช้ Excel version เก่า 2007 ค่ะ
ไม่ทราบว่าสามารถปรับสูตรเพื่อใช้กับ Excel 2007 ได้ไหมคะ?
สูตรที่เจ้าของคำถาม เขียนมาตั้งแต่แรกนั้น ถ้าไม่มีอะไรผิดพลาด ควรใช้ได้ กับทุกเวอร์ชั่น
โดยระบุ ได้ถึง ปี เดือน วัน

ส่วน
=B3-B2+1&" วัน"
ก็ควรได้คำตอบถูกต้อง แต่ระบุเป็น วันเท่านั้น


Norkaz
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: สูตรนับวันค่ะ

#6

Post by suka »

สวัสดีค่ะ ขอนำคำถามสูตร #1 มาถามใหม่นะคะ

=IF(B2<>"",TEXT(DATEDIF(B2,B3,"y"),"0 ""ปี"";;;")&TEXT(DATEDIF(B2,B3,"ym")," 0 ""เดือน"";;;")&TEXT(DATEDIF(B2,B3+1,"md")," 0 ""วัน"";;;"),"")

ได้ทำตัวอย่างมาในไฟล์แนบสูตรข้างบนนี้สูตรเดียวกันใส่วันที่และเดือนต่างกัน
เซลล์ที่ระบายสีเหลืองนับวันได้ถูกต้องค่ะ
เซลล์ที่ระบายสีแดงสูตรนับวันไม่ถูกต้องค่ะ

ขอรบกวนอีกรอบนะคะ ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1544
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: สูตรนับวันค่ะ

#7

Post by norkaz »

..

ผมเปิดจาก เวอร์ชั่น 2013 และ O365 พบว่า สูตรที่เขียนมานั้น แสดงผล ถูกต้อง ตามคำตอบที่แสดงไว้ ทุกประการ ไม่ได้แสดงค่าผิดพลาด ตามที่เจ้าของคำถาม แจ้งมา จึงไม่สามารถ หาสาเหตุของความผิดพลาด จากสูตรนั้นได้ตรงๆ

** ความเห็นส่วนตัว ของผมคาดว่า สาเหตุ น่าจะมาเนื่องจาก

ย้อนกลับไปใน ช่วง Excel เวอร์ชั่น 2007 ออกมาใหม่ๆ นั้น พบว่า ฟังก์ชั่น DATEDIF ให้ค่าที่ไม่ถูกต้อง โดยเฉพาะ การใช้ "MD" โดยจะคำนวณผิดไป 1 วันหรือ มากกว่านั้น

ทางค่ายฝรั่งหลายสำนัก ต่างค้นหาสาเหตุ พบว่า มันเป็น Bug จาก โปรแกรม ซึ่ง เหตุการณ์ ค่า "MD" ที่ผิดพลาดนี้ ไม่พบในเวอร์ชั่น 2003 หรือ เวอร์ชั่น หลัง 2007 เช่น 2010, 2013, 2016 ,2019 และ O365


แนะนำว่า ลอง เขียนสูตรแยกออกมา ก่อน แล้วนำไปรวม ทีหลัง ตามตัวอย่าง ที่แสดงไว้ ในชีท Trial จากไฟล์ ที่แนบมานี้

การเขียนแยกออกมา เพื่อ ให้เห็นภาพ ที่ชัดเจน มากขึ้น เพื่อ ท่านเจ้าของคำถามที่ใช้ Excel 2007 จะได้มองเห็น ว่า ผิดพลาด หรือ ไม่ถูกต้อง ที่ค่าใด -- และถ้าค่าที่ผิดพลาดจะเกิดขึ้น ควรเกิด ที่ Option "MD"

โดยเฉพาะ วัน-เดือน-ปี ที่ห่างกัน มากๆ ตั้งแต่ ประมาณ 5 ปีขึ้นไป

**โดยสรุป คือ

1.สูตรที่ท่านเจ้าของ คำถามแจ้งมานั้น ควรถูกต้อง แล้ว แต่เกิดจาก ตัว Excel 2007 ที่มี ปัญหา กับ DATEDIF มาตั้งแต่แรก

2.อาจจะมีสาเหตุอื่นๆ เพิ่มเติม รอสมาชิกท่านอื่นๆ กรุณาช่วยแนะนำครับ

Norkaz
You do not have the required permissions to view the files attached to this post.
notta_nobi
Member
Member
Posts: 93
Joined: Mon May 13, 2013 4:04 pm
Excel Ver: 2016

Re: สูตรนับวันค่ะ

#8

Post by notta_nobi »

ในปี 2017 ผมก็เคยมีปัญหาเกี่ยวกับสูตร datedif ของ excel 2017 เหมือนกัน
ทาง อ.snasui แจ้งมาว่า หากเป็น 2007 จะมีความผิดพลาดในการใช้ Datedif ค่อนข้างสูง
https://www.snasui.com/viewtopic.php?p=69590#p69590
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: สูตรนับวันค่ะ

#9

Post by suka »

ขอบคุณทั้งสองท่านมากนะคะ

ขอนำข้อแนะนำไปลองปรับใช้ดูก่อนนะคะ
Post Reply