: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#1

Post by ซำเหมา »

ผมพยายาม จะเขียนสูตร หาจำนวน ชม. ในช่วงเวลาภายใน 16:30 เป็น ชม.ใช้งานในเวลา
และชม.ใช้งาน นอกเวลา ตามลำดับ
เจอข้อแรก ก็ทำไม่ได้ ลองเขียนมาดังนี้
=IF(D4>="16:30/24","",E4)
ถ้า ช่องD4มากกว่าหรือเท่ากับ เวลา 16:30 ให้ใส่ช่องว่าง ไม่งั้นให้ใส่เวลาที่ E4 แทน
คือ ต้องการแยก ช่วงเวลา ในเวลาคือ 8.30-16.30 นอกนั้นคือนอกเวลา รวมทั้ง เสาร์อาทิตย์คือนอกเวลา
แต่ยังเขียนไม่ได้เลย ทำแค่ในเวลาก่อน
ช่วยแก้ให้ด้วยครับ
เอาแบบง่ายๆเข้าใจง่ายด้วยนะครับ จากง่ายไปยาก อยากทำเองได้บ้าง
You do not have the required permissions to view the files attached to this post.
cruzz
Member
Member
Posts: 54
Joined: Thu Dec 23, 2010 1:07 pm

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#2

Post by cruzz »

รูปแบบที่ผมใช้หาเวลา (แบบใช้ส่วนตัวครับ) คือ 19/2/2014 13:00:00 ใส่แบบนี้เข้าไปในเซลล์เดียวเลยครับ
เวลาสั่งให้ + หรือ - ค่าที่ต้องการก็แสดงผลได้ถูกต้องดีครับ เช่น
19/2/2014 13:30:00 - 19/2/2014 13:00:00 = 0:30:00 <= ค่าผลลัพท์แสดงตาม Format Cell ที่เราต้องการครับ
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#3

Post by ซำเหมา »

ขอบคุณครับ เดี๋ยวไปทดสอบก่อนครับ
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#4

Post by ซำเหมา »

ยิ่งเขียนก็ยิ่งงง ทำไมมันไม่เป็น "" ก็หารด้วย 24 ก็แล้ว D4=16:30 ต้องเป็น ช่องว่าง แต่ไม่ยอมเป็น
รอ ผู้รู้มาเฉลยดีกว่า ไม่ไหว
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#5

Post by snasui »

:D ตัวอย่างสูตรที่เซลล์ F4 ครับ

=IF(E4="","",IF(MOD(D4,1)>="16:30"+0,"",E4))
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#6

Post by ซำเหมา »

ขอบคุณครับอาจารย์ เดี๋ยวไปทำความเข้าใจก่อนครับ mod ของใหม่ สำหรับผม
อธิบายได้ไม๊ครับ
ผมลองคิดเอง
ถ้า E4เท่ากับช่องว่างให้ใส่ช่องว่าง ไม่งั้นถ้า MOD ตรงนี้ไม่เข้าใจ มากกว่าหรือเท่ากับ 16:30 ต้องใส่ " "เพราะอะไร ให้ใส่ช่องว่าง หรือไม่งั้นก็ ค่าในช่อง E4
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#7

Post by ซำเหมา »

สูตรใช้งานได้ครับอาจารย์
แต่ยังไม่เข้าใจความหมายสูตร
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#8

Post by snasui »

:D ที่ลองคิดมานั้นถูกต้องแล้วครับ

การครอบด้วย " " เป็น "16:30" นั้น เป็น เพราะสูตรจะไม่รู้จักว่าเป็นเวลาเนื่องจากไปซ้ำกับค่าบรรทัดใน Excel ซึ่งปกติค่าบรรทัดเราจะใช้กับฟังก์ชั่น Row, Rows ยกตัวอย่างเช่น Rows(16:30) หมายถึงจำนวนบรรทัดจากบรรทัดที่ 16 ถึงบรรทัดที่ 30 เป็นต้น

และเมื่อครอบด้วย " " แล้วตัวเลข 16:30 จะกลายเป็น Text จึงบวกด้วย 0 เข้าไปอีกรอบเพื่อให้กลับมาเป็นเวลาครับ
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#9

Post by ซำเหมา »

ความรู้ใหม่สำหรับผมเลยครับ รวมทั้ง การทำเป็น text การทำเป็นเวลา

ตรงนี้แปลว่าอะไรครับ
IF(MOD(D4,1)
ยังไม่เข้าใจ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#10

Post by snasui »

:D เป็นการหาเศษที่เหลือจากการหาร D4 ด้วย 1 ลงตัวครับ

เซลล์ D4 มีทั้งวันที่และเวลา วันที่จะเป็นจำนวนเต็ม ส่วนเวลาจะอยู่ในรูปเศษทศนิยม

=Mod(D4,1) จึงเป็นการนำเฉพาะเศษทศนิยมซึ่งเป็นเวลามาใช้นั่นเอง
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#11

Post by ซำเหมา »

=IF(E4="","",IF(MOD(D4,1)>="16:30"+0,"",E4))
ถ้า ค่าในช่อง E4เท่ากับ ช่องว่างให้ใส่ช่องว่าง ถ้าค่าเวลา ในช่อง d4 มากกว่าหรือเท่ากับ เวลา 16:30 ให่ใส่ช่องว่าง ไม่เช่นนั้นให้นำค่า ในช่อง E4 มาใส่แทน
ผมเข้าใจแบบนี้ แต่ยังงงกับ MOD
ในช่อง D4 มี วันที่ กับ กับเวลา
10/1/2014 4:30:00 PM
คำสั่ง =MOD(D4,1) แทน เวลา 4:30:00 PM ใช่หรือไม่ครับ
ที่เราต้องทำแบบนี้เพราะ มันมีวันที่และเวลา คือเป็นคำสั่งแยกเอาเวลามาใช้งานใช่หรือไม่ครับ
แล้วในช่องนั้นไม่มีวันที่ เราต้องใช้คำสั่ง MOD(D4.1) หรือไม่ครับ
แบบนี้ เราลบวันที่ทิั้งได้ไม๊ครับ สมมตินะครับ
แต่มันเยอะคงไม่เอาดีกว่า คือผมถามเพราะสงสัยนะครับ พอดีคำสั่ง MOD(D4,1)
ผมคิดเองคงไม่มีวันได้แน่ เลย อยากหาวิธีที่ง่ายกว่านี้เอง เลยต้องถามมากหน่อยครับ
อย่าเพิ่งรำคาญนะครับ อาจารย์
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#12

Post by snasui »

ซำเหมา wrote:แล้วในช่องนั้นไม่มีวันที่ เราต้องใช้คำสั่ง MOD(D4.1) หรือไม่ครับ
:D ที่เขียนมานั้นเข้าใจถูกต้องแล้วครับ จะมีวันที่หรือไม่มีวันที่ Mod(D4,1) ก็จะได้ค่าเฉพาะเวลาได้เหมือนกัน แต่หากไม่มีวันที่ เราไม่จำเป็นต้องใช้ Mod

การเขียนสูตรควรใช้เฉพาะเมื่อจำเป็นเท่านั้น เพราะทุกสูตรจะเกิดการคำนวณเป็นการสร้างภาระให้กับไฟล์ แม้เป็นสูตรง่าย ๆ แต่หากใช้จำนวณมากก็จะเกิดการคำนวณนานได้เช่นกันครับ
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#13

Post by ซำเหมา »

เข้าใจแล้วครับ ขอบพระคุณมากครับอาจารย์ ผมรู้สึกว่า เวลาใช้สูตรมันสนุกดีครับ แม้จะง่ายๆแต่สำหรับผม มันค่อนข้างยาก เหมือนได้ของเล่นใหม่
ถ้าเราใช้สูตร แล้ว copy แล้ว past แบบให้สูตรหายแล้วค่ายังคงอยู่ แบบนี้ ภาระของไฟล์จะยังคงอยู่หรือไม่ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#14

Post by snasui »

ซำเหมา wrote:ถ้าเราใช้สูตร แล้ว copy แล้ว past แบบให้สูตรหายแล้วค่ายังคงอยู่ แบบนี้ ภาระของไฟล์จะยังคงอยู่หรือไม่ครับ
:D เมื่อไม่เป็นสูตรก็จะไม่เกิดภาระการคำนวณสำหรับส่วนนั้นครับ
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: มาอีกแล้ว เรียนรู้การเขียนสูตรเกี่ยวกับเวลา ทำไมได้อีกแล้ว

#15

Post by ซำเหมา »

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