Page 1 of 1
รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 12:45 pm
by Phantae06
ผมอยากทราบว่าถ้าในชีท ข้อมูลทั่วไป เรากำหนดวันที่เรียนลงไป จะให้ ชั่วโมงที่ ในชีท เวลาเรียน รันอัตโนมัติตลอดปีได้หรือไม่ ผมเคยลองใช้สูตร countif ก็ไมสำเร็จครับ หรือถ้าจะใส่สูตรในชีท เวลาเรียน เลยได้หรือไม่ และถ้าบางวันตรงกับวันหยุดพิเศษ จะล็อกเซลให้รันข้ามไปเลยได้หรือไม่ครับ
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 1:14 pm
by snasui

ควรถามโดยระบุถึงเซลล์ ว่าต้องการให้ชีทไหนเซลล์ไหนแสดงข้อมูลเป็นอย่างไร
เช่น E4:AE4 ในชีทเวลาเรียน ต้องการให้ Run ลำดับค่าต่อเนื่องกันไปหากเป็นวันที่กำหนดว่าให้เป็นเวลาเรียนโดยดูจากชีทข้อมูลทั่วไปเซลล์ D194:H194
เพื่อผู้ตอบจะได้เข้าถึงข้อมูลได้โดยไว ไม่ต้องมากวาดสายตาค้นหาครับ
จากที่ถามมาชีท
เวลาเรียน เซลล์
E4 คีย์
=IF(COUNTIF(ข้อมูลทั่วไป!$D$193:$H$193,TEXT(E$3,"dddd"))>0,IF(INDEX(ข้อมูลทั่วไป!$C$194:$H$194,MATCH(TEXT(E$3,"dddd"),ข้อมูลทั่วไป!$C$193:$H$193,0))>0,COUNT($D4:D4)+1,""),"")
Enter > Copy ไปด้านขวา
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 1:31 pm
by Phantae06
ขอบคุณมากครับ แล้วจะปรับปรุงคำถามครับ

Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 2:45 pm
by Phantae06
ขอรบกวนอีกครั้งครับ คือว่า ในชีท ข้อมูลทั่วไป D194 กำหนดให้เป็นวันเรียน(วันจันทร์) แต่ในชีทเวลาเรียน J4 (วันเสาร์) ซึ่งไม่ตรงกันครับแก้ไขอย่างไรครับ
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 3:10 pm
by snasui

วันที่ 19 พ.ค.
ค.ศ. 2555 เป็นวันจันทร์ครับ
Excel ใช้ระบบวันที่เป็น ค.ศ. หากเราคีย์ 1/1/2555 คือวันที่ 1 เดือน มกราคม
ค.ศ. 2555
ไม่ใช่ วันที่ 1 เดือน มกราคม
พ.ศ. 2555
ดังนั้น ต้องแก้ตัวเลขวันที่ใน E3:AT3 ให้เป็น ค.ศ. เพื่อสามารถ Run ลำดับวันได้ถูกต้องโดยไม่ต้องแก้ไขสูตร หรือ สามารถใช้สูตรเข้าไปช่วยเพื่อแปลงให้ได้ค่าที่ถูกต้อง โดยคีย์สูตรที่ E4 เป็น
=IF(COUNTIF(ข้อมูลทั่วไป!$D$193:$H$193,TEXT(DATE(YEAR(E$3)-543,MONTH(E$3),DAY(E$3)),"dddd"))>0,IF(INDEX(ข้อมูลทั่วไป!$C$194:$H$194,MATCH(TEXT(DATE(YEAR(E$3)-543,MONTH(E$3),DAY(E$3)),"dddd"),ข้อมูลทั่วไป!$C$193:$H$193,0))>0,COUNT($D4:D4)+1,""),"")
Enter > Copy ไปทางด้านขวา
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 3:48 pm
by Phantae06
ขอบคุณครับ
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 7:10 pm
by Phantae06
ไม่เวิร์คครับ ผมอยากจะส่งไฟล์ที่กำลังทำงานไปให้จังเลยครับ แต่ไฟล์ใหญ่เกินไปครับ ยังไงก็ขอบคุณมากครับ
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 7:26 pm
by snasui

ไม่ควรส่งไฟล์จริงมาครับ การทำไฟล์ตัวอย่างก็ให้ Save As จากไฟล์จริง ลบข้อมูลสำคัญ ข้อมูลส่วนเกิน อธิบายหรือจับภาพให้เห็นว่าสิ่งที่ผิดพลาดเป็นอย่างไร และสิ่งที่ต้องการเป็นอย่างไร เพื่อจะได้เข้าใจตรงกันครับ
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 7:56 pm
by Phantae06
ไฟล์จริงมีหลายชีทมากครับ ผม save มาเฉพาะที่น่าจะเกี่ยวข้องกัน ผมสมมุติให้ทำการเรียน วันจันทร์ พุธ และพฤหัสบดี กำหนดให้ ชีทข้อมูลทั่วไป ในเซล D194 F194 G194 และให้ชั่วโมงที่ในชีท 4.เวลาเรียน เริ่มในเซล G4 H4 เป็นชั่วโมงที่ 1 2 ...ครับ
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 8:06 pm
by snasui

ผมสังเกตเซลล์ E3 เป็นวันที่ 14/5/1955 แสดงว่าได้คีย์ปีแค่ 2 หลักคือ 55 การคีย์เช่นนี้สามารถจะให้ค่าปีที่ผิดพลาดได้ครับ ควรจะคีย์ปีให้ครบทั้ง 4 หลัก เช่น 14/5/2012 นอกจากนี้ในไฟล์แนบไม่ได้แนบสูตรที่เคยเขียนไปให้ ลองแนบสูตรที่เคยเขียนไปให้มาด้วย ระบุด้วยว่าค่าที่ถูกคือค่าใดครับ
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 8:36 pm
by Phantae06
ผมแนบไฟล์มาใหม่แล้วครับ ค่าที่ควรจะถูกต้องคือเซลที่เทสีเขียวครับ แต่มันคลาดเคลื่อนไปครับ คือ มันน่าจะเริ่มชั่วโมงที่ 1 และ 2 ใน เซล G4 และ H4 กลับเลื่อนมาเป็น ชั่วโมงที่ 1 ในเซล F4
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 8:49 pm
by snasui

เมื่อเปลี่ยนปีเป็น ค.ศ. แล้วก็ใช้สูตรเดิมได้เลย ซึ่งผมแจ้งไปแล้วตามที่ยกมาด้านล่าง
snasui wrote:ดังนั้น ต้องแก้ตัวเลขวันที่ใน E3:AT3 ให้เป็น ค.ศ. เพื่อสามารถ Run ลำดับวันได้ถูกต้องโดยไม่ต้องแก้ไขสูตร ...
ดูรูปประกอบครับ
Re: รันเวลาเรียนอัตโนมัติ
Posted: Sun Apr 08, 2012 9:11 pm
by Phantae06
สำเร็จแล้วครับ ขอบพระคุณอย่างมากครับ
