: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

เวลามีเงื่อนไข

#1

Post by navara1112 »

สวัสดีครับ
ช่อง D เป็นโจทย์ ช่อง I เป็นคำตอบ ฐานเวลา 8:00:00 ต้องการปรับทราบเวลามาสายเวลาเท่าไรมีเงื่อนไขดังนี้
1.หากช่อง D ลงไปเวลาน้อยกว่าหรือก่อนเวลา 8:00:00 ให้คำตอบเป็นที ช่อง I เป็น 0:00:00
2.หากเวลามากกว่า 8:00:00 ถึงเวลา 13:00:00 ถือว่ามาสาย ให้สูตรบอก จำนวนเวลา ช่วงเวลา 12:00:00-13:00:00 คำตอบต้อง 4 ช.ม. ไม่นับช่วงเวลาพักนี้ 1ชั่วโมง
3.หากเวลาเกิน 8:31:00ขึ้นไปให้คำตอบเป็นคำ คำว่า "ลากิจ" ในช่อง J ลงมา หากน้อยกว่า 8:30:00 ให้ช่อง J ลงมาเป็นค่าว่าง
4.หากเจอช่อง D ลงมา เจอค่าว่างให้สูตร บอกเป็น 0
You do not have the required permissions to view the files attached to this post.
เพชรพระอุมา
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: เวลามีเงื่อนไข

#2

Post by DhitiBank »

ลองแบบนี้ครับ

I4
=(MOD(D4,1)>TIME(8,,))*(MIN(MOD(D4,1),TIME(12,,))-TIME(8,,))

J4
=IF(I4>TIME(,30,59),"ลากิจ","")

คัดลอกสูตรทั้งสองลงล่างครับ
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: เวลามีเงื่อนไข

#3

Post by navara1112 »

ขอบคุณครับ
เพชรพระอุมา
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: เวลามีเงื่อนไข

#4

Post by navara1112 »

สวัสดีครับ (ช่วงที่2)
ช่อง D เป็นโจทย์ ช่อง I เป็นคำตอบ ฐานเวลา 8:00:00 ต้องการปรับทราบเวลามาสายเวลาเท่าไรมีเงื่อนไขดังนี้
1.หากช่อง D ลงไป เลยเวลา 17:00:01 ให้คำตอบเป็นที่ ช่อง K เป็น 0:00:00
2.หากเวลาช่อง D,E 8:02:10 ถึงเวลา 17:05:00 คำตอบต้องอยู่ใน 8 ช.ม. (ไม่นับช่วงเวลาพักนี้ 1ชั่วโมง 12:00-13:00) ช่อง E เวลาทำงานจาก 13:00-17:00 4 ช.ม.
2.1มีเงื่อนไขต่อคือจะต้องไป + ช่อง I ลงไป คำตอบตัวอย่างแถว7 คือ I7 1:00:00 + K7 5:20:00 รวมเป็น 6:20:00
2.2มีเงื่อนเหมือนกับ ข้อ2.1 คำตอบเป็นทที่ K9 = 1:30:00
3.หากเจอช่อง E ลงมา เจอค่าว่างให้สูตร บอกเป็น 0
4.อยากให้ชองคำตอบ L13 ลงไป เจอคำ ที่ช่อง F13 มีเงื่อนไขคำผูกกับในชีต code2 ในช่อง D และ C
You do not have the required permissions to view the files attached to this post.
เพชรพระอุมา
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: เวลามีเงื่อนไข

#5

Post by DhitiBank »

ลองแบบนี้ครับ

K4
=IF(E4="",0,TIME(17,,)-MIN(MOD(E4,1),TIME(17,,))+(MOD(E4,1)<TIME(12,,1)))

L13
=IF(COUNTIF('code (2)'!$C$2:$C$5,F13),VLOOKUP(F13,'code (2)'!$C$2:$D$5,2,0),"")
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: เวลามีเงื่อนไข

#6

Post by navara1112 »

สวัสดีครับ
ขอปรับสูตร
1.ช่องคำตอบ I ลงไปหากเจอ ช่อง D หากเป็นค่าว่าง กับอักขระ ให้คำตอบเปลี่ยนเป็น 0
1.2ช่องคำตอบ E ลงไปหากเจอ ช่อง K หากเป็นค่าว่าง กับอักขระ ให้คำตอบเปลี่ยนเป็น 0
2.ยกตัวอย่างช่อง K7 คำตอบต้องตอบ 4:00:00 เป็นเพราะตัวลบมากกว่า ต้องทำเงื่อนไขสูตร ช่อง Eลงไปอย่างไรครับ
You do not have the required permissions to view the files attached to this post.
เพชรพระอุมา
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: เวลามีเงื่อนไข

#7

Post by DhitiBank »

ขอโทษ​ที​ครับ วันนี้​ผม​ไม่มี​คอม อาจ​ต้อง​รอ​อาจารย์​หรือ​เพื่อน​ๆ คน​อื่น​มา​ดู​ให้​ครับ
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: เวลามีเงื่อนไข

#8

Post by navara1112 »

ครับ
จะรอครับ
เพชรพระอุมา
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: เวลามีเงื่อนไข

#9

Post by parakorn »

ข้อ 1 ปรับสูตร I5 =IF(OR(ISTEXT(D5),D5=""),0,$I$1)-IFERROR(IF(D5="",0,(MOD(D5,1)>TIME(8,,))*(MIN(MOD(D5,1),TIME(12,,))-TIME(8,,))),0) Enter Copy ลงด้านล่าง
ข้อ 1.2 ปรับสูตร K5 = =IF(OR(ISTEXT(D5),D5=""),0,$K$1)-IF(E5="",0,TIME(17,,)-MIN(MOD(E5,1),TIME(17,,))+(MOD(E5,1)<TIME(12,,1))) Enter Copy ลงด้านล่าง
ข้อ 2 ยังสับสนกับผลลัพท์ที่ต้องการครับ เพราะให้เริ่มนับตั้งแต่บ่ายโมง แต่เล่นสแกนออก เที่ยง20 ต้องการให้ได้ผลลัพท์ออกมาเป็น เท่าไหร่ครับ
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: เวลามีเงื่อนไข

#10

Post by navara1112 »

ข้อสอง
เงื่อนคือ กรอกทำงาน D กรอกออกช่อง E
หากพนักงานเวลาเข้าช่วงเช้าคำตอบช่วงเช้าที่ช่อง D ได้คำตอบที่ช่อง I เเล้ว เเต่เผอิญมีธุระออกเวลาช่วงเช้าเช่นกันพอดี เงื่อนไขที่กรอกช่องออก ช่องE เวลาช่วงเช้าตั้งเเต่ 8:00-13:00 เพราะฉนั้นคำตอบบังคับที่ช่อง K =0:00:00 เพราะไม่ได้ทำงาน
ขอบคุณครับ
เพชรพระอุมา
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: เวลามีเงื่อนไข

#11

Post by parakorn »

K5 =IF(IF(OR(ISTEXT(D5),D5=""),0,$K$1)-IF(E5="",0,TIME(17,,)-MIN(MOD(E5,1),TIME(17,,))+(MOD(E5,1)<TIME(12,,1)))<0,0,IF(OR(ISTEXT(D5),D5=""),0,$K$1)-IF(E5="",0,TIME(17,,)-MIN(MOD(E5,1),TIME(17,,))+(MOD(E5,1)<TIME(12,,1))))
Enter + Copy ลงครับ
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: เวลามีเงื่อนไข

#12

Post by navara1112 »

ขอยคุณมากๆครับ
เก่งมากๆเลยครับ
เพชรพระอุมา
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: เวลามีเงื่อนไข

#13

Post by navara1112 »

สวัสดีครับ
ขอเพิ่มสูตรที่1
IF(OR(ISTEXT(D3),D3=""),0,$J$1)-IFERROR(IF(D3="",0,(MOD(D3,1)>TIME(8,,))*(MIN(MOD(D3,1),TIME(12,,))-TIME(8,,))),0)
1.หากเจอค่าว่างๆช่อง D ลงมา ตอบที่ช่อง J= 4:00:00
มีเงื่อนไขคำ AA ที่ช่อง G88:G97 ทำ Define name ชีต code99

ขอเพิ่มสูตรที่2
IF(IF(OR(ISTEXT(E3),E3=""),0,$K$1)-IF(E3="",0,TIME(17,,)-MIN(MOD(E3,1),TIME(17,,))+(MOD(E3,1)<TIME(12,,1)))<0,0,IF(OR(ISTEXT(E3),E3=""),0,$K$1)-IF(E3="",0,TIME(17,,)-MIN(MOD(E3,1),TIME(17,,))+(MOD(E3,1)<TIME(12,,1))))
2.หากเจอค่าว่างๆช่อง E ลงมา ตอบที่ช่อง K= 4:00:00
มีเงื่อนไขคำ AA ที่ช่อง G88:G97 ทำ Define name ชีต code99

3.สูตรช่อง ข้อ1 ช่อง J3 ลงมา และ ข้อ2 ช่อง K3ลงมา เงื่อนไขต่างๆผลลัพท์คำตอบเดิมยังเอาอยู่ครับ
หมายเหตุ หากเป็นลากิจหรือหยุดด้วยเหตุใดๆ ต้องทราบเวลาไม่ทำงาน และหากเป็นวันหยุดปกติให้เป็นคำตอบเป็น 0
You do not have the required permissions to view the files attached to this post.
เพชรพระอุมา
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: เวลามีเงื่อนไข

#14

Post by snasui »

navara1112 wrote:มีเงื่อนไขคำ AA ที่ช่อง G88:G97 ทำ Define name ชีต code99
:D ช่วยอธิบายให่เข้าใจว่าเงื่อนไขเป็นอย่างไรครับ
navara1112 wrote:IF(OR(ISTEXT(D3),D3=""),0,$J$1)-IFERROR(IF(D3="",0,(MOD(D3,1)>TIME(8,,))*(MIN(MOD(D3,1),TIME(12,,))-TIME(8,,))),0)
1.หากเจอค่าว่างๆช่อง D ลงมา ตอบที่ช่อง J= 4:00:00
ใช้ If เข้ามาช่วยได้ เช่น

=If(D3="","4:00"+0,Oldformula)

สหรับที่ระบายสีไว้คือสูตรเดิมครับ

ทำให้ผ่านไปทีละข้อก่อน ผ่านแล้วค่อยถามมาใหม่ ควรทบทวนการใช้ฟังก์ชั่น If ให้เข้าใจจะได้ปรับสูตรเองได้ครับ
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: เวลามีเงื่อนไข

#15

Post by navara1112 »

สวัสดีครับ
เพิ่มหรือต้องปรับสูตรเดิมอีกคือ
อธิบาย ผมตั้งโจทย์ผิด ชีต code99 ช่อง G88:G97 ต้องเป็น E88:E97 ดังนี้
เมื่อเจอค่าว่างที่ ชีต 55 ช่อง D ลงมา
มีเงื่อนไขหากเจอคำ AA ที่ช่อง E88:E97 ชีต code99 ผมคิดเข้าใจผมเองว่าซึ่งหากทำชื่อบังคับ แบบ Define name ตรง manager name (ไม่เเน่ใจเรียกถูกไหม) ตั้งคำว่า AA แล้วให้ตอบ 4:00:00 ที่ชีต 55 ช่อง J ลงมา ไม่ทราบว่าได้หรือเปล่าครับ ส่วนหากกรอกวันที่ ที่ช่อง D ให้สูตรคิดตามสูตรเดิม
ขอบคุณครับ
เพชรพระอุมา
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: เวลามีเงื่อนไข

#16

Post by snasui »

:D อ่านแล้วไม่เข้าใจครับ

ช่วยทำตัวอย่างมาใหม่ให้สอดคล้องกับคำอธิบาย ชี้ให้เห็นอย่างชัดเจนว่า เมื่อเป็น AA แล้วให้มีค่าเป็น 4:00:00 โดยระบุเซลล์มาให้ชัด

นำค่าใดไปตรวจสอบกับค่าใด ค่านั้นอยู่ในเซลล์ใด ชีตใด คำตอบเป็นค่าเท่าใด อยู่ในชีตใด อยู่ในเซลล์ใด จะได้เข้าใจตรงกันครับ
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

Re: เวลามีเงื่อนไข

#17

Post by navara1112 »

สวัสดีครับ
ชีต code99
1.ช่อง C ลงมาเป็นชื่อไม่ซ้ำ จาก ชีต"ข้อมูล" ช่อง G เพื่อสร้าง ชื่อทั้งหมดมีกี่ชื่อเพราะกรอกตามใจฉัน ระบบสร้างโค๊ดไม่มี จะเรียกว่ากรอกมั่วก็ได้ครับ
2.ช่อง D เป็น code เรียกเพื่อให้เข้าใจง่ายๆ
3.ช่อง E เป็น code อีกชั้นหนึ่งเช่นคำว่า BB แถว2-87 AA แถว 86-89 เป็นเงื่อนไขเพิ่มมา เริ่มสูตรเดิมเมื่อเจอค่าว่างจากชีต "ข้อมูล" ช่อง D,E เข้า กับ ออก มาตอบที่ ช่อง J,K
หากลากสูตรเดิมจะได้คำตอบเป็น 0 ตั้งแต่ แถว 9-ลงไปทั้ง ช่อง J,K
**สีเขียว "ข้อมูล" แถว 9-10 สูตรคิดตามปกติ เพราะมีเวลามาให้คิดที่ช่อง D,E มีคำที่ช่อง G
**สีแสด "ข้อมูล" แถว 11-16 เจอค่าว่างช่อง D,E และมีคำที่ช่อง G9 [In+] คำตอบให้ช่อง J,K= 4:00:00 จากเงื่อนไขจากข้อ3 คำว่า "BB" จากชีต code99 ช่อง E (หรือกำหนด ช่อง G ภาษา มาเจอค่าว่างที่ช่อง D,E ให้ตอบ 4:00:00 )
**สีเทา ชีต "ข้อมูล" แถว 17-20 เจอค่าว่าง คำตอบให้ช่อง J,K= 0:00:00 เพราะเป็นวันหยุด
**ชีต "ข้อมูล" แถว 21-ลงไป เจอค่าว่าง คำตอบให้ช่อง J,K= 0:00:00 เพราะไม่ต้องคำนวนอะไร
You do not have the required permissions to view the files attached to this post.
เพชรพระอุมา
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: เวลามีเงื่อนไข

#18

Post by snasui »

:D ผมอ่านแล้วไม่สามารถเข้าใจได้ คงต้องรอสมาชิกท่านอื่นอีกทีครับ
ZEROV
Member
Member
Posts: 73
Joined: Thu Jun 03, 2010 6:31 pm

Re: เวลามีเงื่อนไข

#19

Post by ZEROV »

คุณ navara คงอยากชวนออกทะเลครับ :lol:
ภาพตัวอย่างการคำนวนเวลาสุทธิตามเงือนไขเวลาเข้า-ออก
สูตรSymbol คือชื่อสูตรการคำนวนซึ่งมี 14 แบบ
NetHours.png
You do not have the required permissions to view the files attached to this post.
Post Reply