:!: โปรดทราบ 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

Postby 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: 1575
Joined: Mon Oct 15, 2012 12:07 am

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

#2

Postby 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

Postby navara1112 » Wed Jul 05, 2017 3:29 pm

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

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

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

#4

Postby 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: 1575
Joined: Mon Oct 15, 2012 12:07 am

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

#5

Postby 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

Postby 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: 1575
Joined: Mon Oct 15, 2012 12:07 am

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

#7

Postby DhitiBank » Fri Jul 07, 2017 9:55 pm

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

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

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

#8

Postby navara1112 » Sun Jul 09, 2017 9:29 am

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

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

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

#9

Postby 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 ต้องการให้ได้ผลลัพท์ออกมาเป็น เท่าไหร่ครับ
"," คือ ยูเนี่ยน ใช้เลือกช่วงใดบ้างให้คำนวณทั้งหมด(เลือกซ้ำคำนวณซ้ำ)
":" คือ เซต ใช้สร้างช่วงตารางข้อมูลระหว่าง2Cell
" "(เว้นวรรค) คือ อินเตอร์เซก ใช้เลือกข้อมูลเฉพาะด้านในจุดตัดระหว่างเซตทั้งหมด

Array ต้องเป็น เซตเท่านั้น

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

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

#10

Postby 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: 624
Joined: Thu Mar 14, 2013 9:41 am
Contact:

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

#11

Postby 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 ลงครับ
"," คือ ยูเนี่ยน ใช้เลือกช่วงใดบ้างให้คำนวณทั้งหมด(เลือกซ้ำคำนวณซ้ำ)
":" คือ เซต ใช้สร้างช่วงตารางข้อมูลระหว่าง2Cell
" "(เว้นวรรค) คือ อินเตอร์เซก ใช้เลือกข้อมูลเฉพาะด้านในจุดตัดระหว่างเซตทั้งหมด

Array ต้องเป็น เซตเท่านั้น

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

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

#12

Postby navara1112 » Sun Jul 09, 2017 10:38 pm

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

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

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

#13

Postby 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: 21783
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#14

Postby 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

Postby 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: 21783
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#16

Postby 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

Postby 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: 21783
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#18

Postby snasui » Sat Jul 15, 2017 10:23 am

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

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

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

#19

Postby 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.


Return to “Excel”

Who is online

Users browsing this forum: Google Feedfetcher, Judas and 22 guests