: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#21

Post by snasui »

:D ลองตามนี้ครับ

1. AV2 ปรับสูตรใหม่ไม่ให้แสดงค่าผิดพลาดกรณีที่มีค่าเดียว

=INDEX($AN$7:$AN$19,MAX(1,MATCH(LOOKUP(2,1/(AU$7:AU$20>0),AU$7:AU$20),AU$7:AU$20,0)-1))+(AU31/$W$1)/24

Enter > Copy ไปด้านขวา

2. AM7 เขียนสูตรให้สัมพันธ์กับ AR+AS

=(AR7=1)*0.25*3/24+(AS7=1)*3/24

Enter > Copy ลงด้านล่าง

3. AU7 เขียนสูตรให้สัมพันธ์กับ AM ซึ่งจะมีผลกับคอลัมน์ AU เท่านั้น หากต้องการให้มีผลกับทุกคอลัมน์ให้ลบส่วนประกอบที่ผมระบายสีอักขระด้านล่างทิ้งไป

=IF(AND(ROWS(AU$7:AU7)>1,LOOKUP(9.99999999999999E+307,AU$5:AU6)=0,COUNTIF(AU$6:AU6,">0")>0),0,IF(AV6<>0,0,MAX(0,IF($AK7-SUM($AT7:AT7)>=AU$29*$X7-SUM(AU$6:AU6),AU$29*$X7-SUM(AU$6:AU6),$AK7-SUM($AT7:AT7)-IF(AND(COLUMNS($AU7:AU7)=1,$AM7<>0),64800*$AM$7,0)))))

Enter > Copy ไปด้านขวาและลงด้านล่าง
You do not have the required permissions to view the files attached to this post.
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#22

Post by ekkaluk_suk »

ขอเพิ่มเงื่อนไขใน cell คำนวณ อีกครั้งครับ หลังจากที่ - ด้วย if แล้วให้ไปเช็คกับแถวที่ 29 อีกครั้ง
=IF(AND(ROWS(AU$7:AU7)>1,LOOKUP(9.99999999999999E+307,AU$5:AU6)=0,COUNTIF(AU$6:AU6,">0")>0),0,IF(AV6<>0,0,MAX(0,IF($AK7-SUM($AT7:AT7)>=AU$29*$X7-SUM(AU$6:AU6),AU$29*$X7-SUM(AU$6:AU6),$AK7-SUM($AT7:AT7)-IF(AND(COLUMNS($AU7:AU7)=1,$AM7<>0),129600*$AM7,0)))))

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

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#23

Post by snasui »

:D เข้าใจว่าผมวางสูตรไปลบผิดตำแหน่ง

ลองสูตรตามด้านล่างที่เซลล์ AU7 ครับ

=IF(AND(ROWS(AU$7:AU7)>1,LOOKUP(9.99999999999999E+307,AU$5:AU6)=0,COUNTIF(AU$6:AU6,">0")>0),0,IF(AV6<>0,0,MAX(0,IF($AK7-SUM($AT7:AT7)>=AU$29*$X7-SUM(AU$6:AU6),AU$29*$X7-SUM(AU$6:AU6)-IF(AND(COLUMNS($AU7:AU7)=1,$AM7<>0),129600*$AM$7,0),$AK7-SUM($AT7:AT7)))))

Enter

ถ้ายังไม่ถูกต้องช่วยส่งไฟล์มาดูครับ
Last edited by snasui on Mon Sep 13, 2010 5:08 pm, edited 1 time in total.
Reason: Edit: เพิ่มข้อความ
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#24

Post by ekkaluk_suk »

snasui wrote::D เข้าใจว่าผมวางสูตรไปลบผิดตำแหน่ง

ลองสูตรตามด้านล่างที่เซลล์ AU7 ครับ

=IF(AND(ROWS(AU$7:AU7)>1,LOOKUP(9.99999999999999E+307,AU$5:AU6)=0,COUNTIF(AU$6:AU6,">0")>0),0,IF(AV6<>0,0,MAX(0,IF($AK7-SUM($AT7:AT7)>=AU$29*$X7-SUM(AU$6:AU6),AU$29*$X7-SUM(AU$6:AU6)-IF(AND(COLUMNS($AU7:AU7)=1,$AM7<>0),129600*$AM$7,0),$AK7-SUM($AT7:AT7)))))

Enter
-IF(AND(COLUMNS($AU7:AU7)=1,$AM7<>0),129600*$AM$7,0
ตรงสีแดงต้องแก้เป็น $AM7 ครับ เพราะถ้าลากลงแล้วมันจะเพี้ยน
สูตรที่ส่งมาล่าสุด มันไม่ลดยอดให้น่ะครับ คือถ้า AM เปลี่ยนไป ผลในตารางคำนวณต้องเปลี่ยนแปลงตาม แต่ตอนนี้มันไม่เปลี่ยนเลยครับ

คือการเปลี่ยนแปลง ต้องคล้ายกับการที่เราใส่ค่าในช่อง AU4 ครับ หลักการเหมือนกัน
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#25

Post by snasui »

:D ช่วยส่งตัวอย่างไฟล์ และกรอก Comment ค่าที่ถูกต้องซึ่งจำเป็นต้องให้มาเสมออย่างน้อย 3-5 ค่าแวดล้อม เพื่อผมจะได้เขียนสูตรเปรียบเทียบครับ :lol: :mrgreen:

:o อ้าว...เพิ่งเห็นไฟล์...ขอดูไฟล์ก่อนครับ :mrgreen:
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#26

Post by snasui »

:D :tt: นำส่วนเงื่อนไข If ไปไว้ที่ช่อง AT ครับ

ดูไฟล์แนบประกอบครับ เนื่องจากสูตรใช้การพันยอดโดยนำยอดคอลัมน์ด้านหน้าและแถวด้านบนมาคำนวณเปรียบเทียบกับยอดด้านล่าง จะบังคับให้นำเฉพาะผลต่างตามรูปด้านบนมาแสดงไม่ได้ครับ :mrgreen:
You do not have the required permissions to view the files attached to this post.
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#27

Post by ekkaluk_suk »

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

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#28

Post by snasui »

:D ผมทดลองเขียนสูตรด้วยเงือนไขที่ให้มา (ตามภาพด้านล่าง) พบว่าเกิดการคำนวณเป็นวงกลม หรือก็คือการคำนวณ "วน" อ่านเพิ่มเติมที่ http://snasui.blogspot.com/2010/06/excel.html

แสดงว่ามีการนำเซลล์นั้นไปใช้คำนวณประกอบในช่วงข้อมูลด้านล่าง ถ้าต้องการให้แสดงผลถูกต้อง คงต้องหาวิธีไม่ใหเกิดการคำนวณวนก่อนครับ
You do not have the required permissions to view the files attached to this post.
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#29

Post by ekkaluk_suk »

=$G$1*60*(AU5-(((AU3*3*0.25)+AU4*3))*(AU5/(AU5+0.0000000000001)))

แถวที่ 29 ผมเอาสูตรที่เป็นสีแดงออก จะไม่เป็นวงกลมแล้วครับ แล้วต้องสร้างอย่างไรต่อครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#30

Post by snasui »

:D ลองนำสูตรข้างบนไปใช้ดูแล้วยังครับ ลองปรับใช้ดูกับ AU4 ได้ผลเป็นอย่างไรนำมาโพสต์อีกรอบครับ
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#31

Post by ekkaluk_suk »

ได้นำค่าที่ต้องการให้ระบบแสดงให้ ใน sheet "ค่าที่ต้องการ" ส่วนคำอธิบายวิธีการคิดจะอยู่ใน Sheet "แนวคิด" เพื่อจะได้เข้าใจยิ่งขึ้นครับ
ส่วนในตารางคำนวณนั้น ผมใส่ค่าที่ต้องการที่ถูกต้องไว้นะครับ

คิดว่าคงต้องรบกวนอีกหลายรอบที่เดียว เพราะสูตรที่ผมต้องการค่อนข้างจะซับซ้อนเอาการ คนถามยังจะงงเองเลย :tt:
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#32

Post by snasui »

:D ลองเปิดไฟล์ดูแล้ว รวมยอดจากตัวอย่างพบว่าไม่เท่ากัน ไม่ทราบมีวิธีคิดอย่างไรครับ ช่วยเพิ่มคำอธิบายไว้ให้ไฟล์ด้วยนะครับ เนื่องจากดู Sheet แนวคิดแล้วไม่แน่ใจว่าแปลความหมายว่าอย่าไรบ้าง ถ้าต้องแสดงผลตามช่วงเวลาใน Sheet ค่าที่ต้องการ หรือ Sheet ต้นฉบับควรแยก วันที่ และ เวลา ไว้คนละบรรทัด เพื่อความสะดวกในการคำนวณ :mrgreen:
You do not have the required permissions to view the files attached to this post.
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#33

Post by ekkaluk_suk »

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

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#34

Post by snasui »

:D ผมลองคิดตามความเข้าใจว่าให้เอาเวลาเข้ามาเกี่ยวข้องกับการแสดงค่า 30600 หรือ 0 โดยใช้เซลล์ AU2 มาหาเวลา พบว่าเกิดกรคำนวณเป็นวงกลมตามภาพครับ
You do not have the required permissions to view the files attached to this post.
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#35

Post by ekkaluk_suk »

ช่วยส่ง file ที่แก้ไขกลับให้หน่อยครับ ผมลองพิมพ์ตามแล้วสูตรมัน error ส่วนตรงที่เป็นวงกลม
น่าจะเป็นแถวที่แถวที่ 27 ครับ ต้องลองเอาตัวแปรที่เป็นของ แถวที่ 3 และ 4 ออก ดู (เหมือนครั้งที่แล้ว) :rz:
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการแสดงเวลาเริ่มและจบงานของแต่ละแถว

#36

Post by snasui »

:D ดูสูตรตามไฟล์แนบครับ :mrgreen:
You do not have the required permissions to view the files attached to this post.
Post Reply