🔊 โปรดทราบ Image
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ดครับ Image
  2. การสมัครสมาชิกเพื่อโพสต์คำถาม ดาวน์โหลดไฟล์แนบไปศึกษา ทำตามขั้นตอนด้านล่างครับ
    1. สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่านImage
    2. Login เข้าระบบโดยคลิก Login ตรงมุมขวาบนของหน้านี้ Image กรณีมีปัญหาในการเข้าใช้งาน คลิก Link นี้เพื่อแจ้งผู้ดูแลระบบครับ => ติดต่อผู้ดูแลระบบ
  3. เมื่อ Login แล้วสามารถกำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษได้ที่ Link นี้ครับ => ตั้งค่าส่วนตัว Image
  4. วิธีการตั้งและตอบกระทู้ดูได้ที่ Link นี้ครับ => วิธีการตั้งและตอบกระทู้ Image
  5. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ Link นี้ครับ => จัดรูปแบบตัวอักษร และสามารถกำหนดขนาดตัวอักษรใน Browser ได้ที่นี่ครับ => กำหนดขนาดตัวอักษรใน Browser Image

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

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

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

#1

Post by navara1112 » Wed Jul 05, 2017 9:48 am

สวัสดีครับ
ช่อง 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: 1619
Joined: Mon Oct 15, 2012 12:07 am

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

#2

Post by DhitiBank » Wed Jul 05, 2017 2:17 pm

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

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 » Wed Jul 05, 2017 3:29 pm

ขอบคุณครับ
เพชรพระอุมา

navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

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

#4

Post by navara1112 » Thu Jul 06, 2017 9:10 am

สวัสดีครับ (ช่วงที่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: 1619
Joined: Mon Oct 15, 2012 12:07 am

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

#5

Post by DhitiBank » Fri Jul 07, 2017 1:59 am

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

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 » Fri Jul 07, 2017 10:44 am

สวัสดีครับ
ขอปรับสูตร
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: 1619
Joined: Mon Oct 15, 2012 12:07 am

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

#7

Post by DhitiBank » Fri Jul 07, 2017 9:55 pm

ขอโทษ​ที​ครับ วันนี้​ผม​ไม่มี​คอม อาจ​ต้อง​รอ​อาจารย์​หรือ​เพื่อน​ๆ คน​อื่น​มา​ดู​ให้​ครับ

navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

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

#8

Post by navara1112 » Sun Jul 09, 2017 9:29 am

ครับ
จะรอครับ
เพชรพระอุมา

User avatar
parakorn
Silver
Silver
Posts: 833
Joined: Thu Mar 14, 2013 9:41 am
Contact:

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

#9

Post by parakorn » Sun Jul 09, 2017 3:15 pm

ข้อ 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 ต้องการให้ได้ผลลัพท์ออกมาเป็น เท่าไหร่ครับ
ที่เงียบไปนี่มีสองอย่างครับ คือ "ติดงาน" กับ "ไปต่อไม่ได้" :lol: :lol: :lol:

navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

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

#10

Post by navara1112 » Sun Jul 09, 2017 7:26 pm

ข้อสอง
เงื่อนคือ กรอกทำงาน D กรอกออกช่อง E
หากพนักงานเวลาเข้าช่วงเช้าคำตอบช่วงเช้าที่ช่อง D ได้คำตอบที่ช่อง I เเล้ว เเต่เผอิญมีธุระออกเวลาช่วงเช้าเช่นกันพอดี เงื่อนไขที่กรอกช่องออก ช่องE เวลาช่วงเช้าตั้งเเต่ 8:00-13:00 เพราะฉนั้นคำตอบบังคับที่ช่อง K =0:00:00 เพราะไม่ได้ทำงาน
ขอบคุณครับ
เพชรพระอุมา

User avatar
parakorn
Silver
Silver
Posts: 833
Joined: Thu Mar 14, 2013 9:41 am
Contact:

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

#11

Post by parakorn » Sun Jul 09, 2017 8:18 pm

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 ลงครับ
ที่เงียบไปนี่มีสองอย่างครับ คือ "ติดงาน" กับ "ไปต่อไม่ได้" :lol: :lol: :lol:

navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

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

#12

Post by navara1112 » Sun Jul 09, 2017 10:38 pm

ขอยคุณมากๆครับ
เก่งมากๆเลยครับ
เพชรพระอุมา

navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

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

#13

Post by navara1112 » Tue Jul 11, 2017 7:58 pm

สวัสดีครับ
ขอเพิ่มสูตรที่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: 23161
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#14

Post by snasui » Wed Jul 12, 2017 9:03 pm

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 » Thu Jul 13, 2017 11:42 am

สวัสดีครับ
เพิ่มหรือต้องปรับสูตรเดิมอีกคือ
อธิบาย ผมตั้งโจทย์ผิด ชีต 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: 23161
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#16

Post by snasui » Thu Jul 13, 2017 6:30 pm

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

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

นำค่าใดไปตรวจสอบกับค่าใด ค่านั้นอยู่ในเซลล์ใด ชีตใด คำตอบเป็นค่าเท่าใด อยู่ในชีตใด อยู่ในเซลล์ใด จะได้เข้าใจตรงกันครับ

navara1112
Member
Member
Posts: 178
Joined: Fri Sep 16, 2016 1:18 pm

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

#17

Post by navara1112 » Thu Jul 13, 2017 10:16 pm

สวัสดีครับ
ชีต 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: 23161
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#18

Post by snasui » Sat Jul 15, 2017 10:23 am

:D ผมอ่านแล้วไม่สามารถเข้าใจได้ คงต้องรอสมาชิกท่านอื่นอีกทีครับ

ZEROV
Member
Member
Posts: 73
Joined: Thu Jun 03, 2010 6:31 pm

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

#19

Post by ZEROV » Mon Jul 17, 2017 11:05 pm

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

Post Reply