snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
luksanat
Member
Posts: 1 Joined: Mon Jan 20, 2014 5:17 pm
Location: ระยอง
#1
Post
by luksanat » Mon Jan 20, 2014 5:51 pm
ตอนนี้ ดิฉัน ประสบปัญหาเกี่ยวกับ Excel ในการทำงาน 2 อย่างค่ะ รบกวน ผู้รู้ด้วยนะค่ะ
1. ดิฉัน บวกเลขที่เป็นเวลา ที่มีค่า่หลักหมื่น ใน Excel ไม่ได้ค่ะ เช่น 25000:30 + 300:00 ค่ะ ค่ามันไม่ออกมาให้เลยค่ะ
(มันเป็นจำนวนเวลาของเครื่องยนต์ที่ติดเครื่องใช้ไปค่ะ)
2. ดิฉันต้องการ แปลงเวลา เป็น จำนวนเต็มค่า เช่น 12:30 = 12.50 ค่ะ แต่พอ มันเป็น 24:00 มันแปลงออกมาไม่ได้ค่ะ
ตอนนี้ อยากเอา สูตรนี้เพื่อไปใช้ในการทำงานค่ะ รบกวนผู้รุ้ไขปริศนาให้หน่อยนะค่ะ
cruzz
Member
Posts: 54 Joined: Thu Dec 23, 2010 1:07 pm
#2
Post
by cruzz » Mon Jan 20, 2014 10:02 pm
ขอตอบแบบเบื้องต้นให้ก่อนนะครับ (รอท่านอาจารย์มาให้ความกระจ่างอีกที)
ค่าเวลาจะถูกเก็บได้ไม่เกิน 24 เพราะถึง 24 เมื่อไหร่ค่าจะกลายเป็น 1 วันแทนครับ
ใน Excel (ของผม 2013) เก็บเวลาได้สูงสุดที่ 9999:59:59 ครับ ซึ่งเท่ากับ 19/2/1901 15:59:59
วันเวลาจะเริ่มนับจากวันที่ 0/1/1900 00:00:00 ครับ
เพราะ
1. ค่าของคุณ 25000:30 Excel รับค่าไม่ได้ครับ ต้องเก็บค่าในรูปแบบอื่นแทน ถึงจะเอาไปคำนวณต่อได้ครับ
2. ดังที่ผมอ้างถึงไปแล้ว เวลาที่ถูกเก็บถึง 24 เมื่อไหร่จะถูกแปลงไปเป็น 1 วัน และเวลาจะนับเป็น 00:00 ครับ
ดังนั้น ถ้าเป็นผม
1. เก็บจำนวนชั่วโมงแยกจากนาทีครับ โดยอาจไม่ต้องแยกช่องเก็บแต่ใช้ตัวคั่นแทนครับ
2. =Int(Hour(A1))+(minute(A1)/60) ยกเว้นเมื่อค่าของชั่วโมงมากกว่า 23
joo
Gold
Posts: 1213 Joined: Sat Apr 17, 2010 3:50 pm
#3
Post
by joo » Tue Jan 21, 2014 7:52 am
luksanat wrote: 2. ดิฉันต้องการ แปลงเวลา เป็น จำนวนเต็มค่า เช่น 12:30 = 12.50 ค่ะ แต่พอ มันเป็น 24:00 มันแปลงออกมาไม่ได้ค่ะ
ลองตามนี้ดูครับ
ข้อมูลอยู่ที่A1 ที่ B1 คีย์ =IF(MOD(A1,1)>0,A1*24,A1)