Page 6 of 8
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Tue Nov 01, 2011 9:05 pm
by suka
อาจารย์คะ ขอรบกวนช่วยดูที่ชีท PrintReport เซลล์ BY7 ให้อีกรอบค่ะ
ปัญหาคือหากเรียกดูรายงาน วันที่เริ่มต้น 3/10/2011วันที่สิ้นสุด 15/10/2011 ผลลัพธ์ที่ได้ถูถต้อง 235
แต่หากเรียกดู วันที่เริ่มต้น 3/10/2011วันที่สิ้นสุด 8/10/2011 ผลลัพธ์ 240 ยังไม่ใช่ค่ะ
ใช้เซลล์ Q2 ของชีท Database มาแสดงที่ เซลล์ BY7 ของชีท PrintReport ค่ะ
อาจารย์คะ ชีท Form บันทึกการทำงานรายวันครั้งละหนึ่งสัปดาห์ ที่ชีท PrintReport เรียกดูรายงานได้หนึ่งเดือนค่ะ
ขอบคุณค่ะ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Tue Nov 01, 2011 9:13 pm
by snasui

ไม่ทราบว่ามีหลักเกณฑ์การเลือกข้อมูลอย่างไรถึงเป็นเช่นนั้นครับ บางครั้งเอามาบวกกัน 2 เซลล์ บางครั้งเอามาแค่เซลล์เดียว ใช้อะไรเป็นเงื่อนไขครับ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Wed Nov 02, 2011 11:43 am
by suka
เรียนอาจารย์ หลายสิ่งทำไปเรียนไปโดยไม่แน่ใจว่าสิ่งที่ทำนั้นจะเป็นไปได้ไหม ค่ะ
เช่นไฟล์ตัวอย่าง ที่ชีท Formไม่ทราบว่าใช่เป็นปัญหาหรือไม่ หากใช่แก้เป็นบันทึกครั้งละวันจะช่วยได้ไหมคะ
suka wrote:อาจารย์คะ ชีท Form บันทึกการทำงานรายวันครั้งละหนึ่งสัปดาห์ ที่ชีท PrintReport เรียกดูรายงานได้หนึ่งเดือนค่ะ
การออกแบบบันทึกที่ชีท Form
ออกแบบตามผู้กรอกบันทึกสัปดาห์ละครั้ง
การออกแบบรายงานที่ชีท PrintReport
อยากให้เลือกดูช่วงได้อย่างอิสสระ แต่ไม่เกินภายในเดือนตามที่ออกแบบรายงาน
อาจารย์คะ มีวิธีใดช่วยได้คะ น่าจะแก้จุดใดได้คะ แก้ที่ฟอร์มกรอกข้อมูลหรือต้องเพิ่มคอลัมน์ที่ชีท Database เข้ามาช่วยคะ
ขอบคุณค่ะ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Wed Nov 02, 2011 12:21 pm
by snasui

ผมจะลองเขียนสูตรมาให้ดูก่อนนะครับ จากการสังเกตดู สรุปได้ว่าเป็นการนำค่าเฉพาะที่ต่างในช่วงวันที่ที่เลือกกันมารวมกัน
ลองตามนี้ครับ ที่เซลล์ BY7 คีย์สูตร
=SUM(IF(FREQUENCY(IF($D$2<=Database!$A$2:$A$133,IF($D$3>=Database!$A$2:$A$133,IF($D7=Database!$E$2:$E$133,MATCH(Database!$Q$2:$Q$133,Database!$Q$2:$Q$133,0)))),ROW(Database!$E$2:$E$133)-ROW(Database!$E$2)+1),Database!$Q$2:$Q$133))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Note: เปลี่ยนช่วงข้อมูลตามที่เป็นจริง
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Wed Nov 02, 2011 7:39 pm
by suka
อาจารย์คะ ขอบคุณที่เข้าใจช่วยปรับปรุงแม้สิ่งที่ดูซับซ้อน อาจารย์ก็ทำให้สูตรที่ซับซ้อนดูง่ายๆ สบายๆ ค่ะ
ทดสอบทุกจุดแล้ว ได้ผลลัพธ์ที่ถูถต้องตรงค่ะ ขอทดลองนำไปใช้กับงานจริงสักระยะ จะกลับมารายงานผลอีกครั้งค่ะ
ขอให้อาจารย์มีสุขภาพที่ดี มีความสุขได้พบเจอแต่สิ่งดีๆ ค่ะ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Thu Nov 03, 2011 9:28 pm
by suka
อาจารย์คะ สูตรนี้เป็นอย่างที่อาจารย์เคยบอกค่ะ พอเปลี่ยนช่วงข้อมูล จากเซลล์ 133 เป็น 65536 เท่านั้นแหละค่ะ เห็นผลคำนวณนานมากจริงๆ ค่ะ
ขอคำแนะนำเรื่องการเก็บข้อมูลพนักงานเป็นรายคน ควรเก็บข้อมูลแบบใดเพื่อให้ง่ายในการดึงมาใช้ค่ะ
ขอบคุณค่ะ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Thu Nov 03, 2011 11:36 pm
by snasui

อย่างที่แนะนำไปแล้วครับ รายการใดที่ไม่ได้เปลี่ยนแปลงเป็นรายวันก็ควรจะเก็บแยกต่างหากเป็นอีกชีทได้ เช่นคอลัมน์ Q ในชีท Database หากไม่ได้เปลี่ยนแปลงเป็นรายวันก็ควรเก็บไว้อีกชีทต่างหาก บันทึกเมื่อมีการเปลี่ยนแปลง ข้อมูลอื่น ๆ ที่มีลักษณะทำนองนี้ก็ควรแยกเก็บจากข้อมูลที่มีการเปลี่ยนแปลงเป็นรายวัน แล้วค่อยดึงไปใช้ในการทำรายงาน
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Fri Nov 04, 2011 11:45 am
by suka
อาจารย์คะ ลองทำตามที่เข้าใจ คือนำรายการใดที่ไม่ได้เปลี่ยนแปลงเป็นรายวันออกจากชีท Template แล้วทำชีทแม่แบบเพิ่มอีกหนึ่งชืทขอใช้ชื่อ TemplateIn
จากนั้นนำรายการที่ไม่ได้เปลี่ยนแปลงเป็นรายวันใส่ที่ชีท TemplateIn และเพิ่มอีกหนึ่งชีทเพื่อรับข้อมูลขอใช้ชื่อ Individual แบบนี้หรือไม่คะ
ขอบคุณค่ะ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Fri Nov 04, 2011 12:58 pm
by snasui

ดูแล้วยังมีรายการที่ซ้ำ ๆ กันอยู่ครับ
กรณีไม่ได้เปลี่ยนแปลงเป็นรายวันแล้ว ในวันเดียวกันไม่ควรมีรายการที่ซ้ำ จะมีการเพิ่มข้อมูลใหม่เมื่อค่าใด ๆ ไม่เหมือนกับข้อมูลเดิม วิธีการทำข้อมูลไม่จำเป็นต้อง Link มาจากที่ใด สำหรับ Individual ไม่ทราบว่าต้องการใช้ทำอะไรครับ เมื่อเราสร้าง TempiateIn แล้ว เราจะใช้ TempiateIn ทำการ Link ไปยัง PrintReport เลย
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Fri Nov 04, 2011 2:55 pm
by suka
ขออภัยค่ะอาจารย์ ลองใหม่อีกรอบค่ะ ยังเหลือรายการที่ซ้ำมี วันที่,แผนก,รหัส,ชื่อพนักงาน ยังคงอยู่ค่ะ
ขอบคุณค่ะ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Sat Nov 05, 2011 12:18 am
by snasui

ไม่ทราบว่าส่งมาใหม่เพื่อจะบอกอะไรครับ ผมดูแล้วข้อมูลก็ยังซ้ำ ๆ กันเหมือนเดิม
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Sat Nov 05, 2011 8:58 am
by suka
อาจารย์คะ ส่งไฟล์ตัวอย่างรอบนี้น่าเข้าใจความหมายของอาจารย์
snasui wrote:กรณีไม่ได้เปลี่ยนแปลงเป็นรายวันแล้ว ในวันเดียวกันไม่ควรมีรายการที่ซ้ำ จะมีการเพิ่มข้อมูลใหม่เมื่อค่าใด ๆ ไม่เหมือนกับข้อมูลเดิม
ได้มากขึ้นค่ะ ขอบคุณค่ะ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Sat Nov 05, 2011 9:11 am
by snasui

หากเป็นชีท TemplateIn ดูท่าทางแล้วโอกาสตรงคงไม่มีครับ เพราะพยายามจะ Link ข้อมูลมาทุกครั้ง ซึ่งขอบอกไว้เลยแล้วกันว่า ห้าม Link มาใช้ จะได้ไม่ต้องไปพะวงกับการ Link ซึ่งผมก็ได้บอกไปหลายครั้ง ให้สร้างขึ้นมาใหม่
สร้างเฉพาะรายการที่ไม่ได้เปลี่ยนแปลงเป็นรายวัน ข้อมูลใดที่เป็นพวกเดียวกันสามารถนำมาไว้ด้วยกันได้ก็ให้อยู่ในตารางเดียวกัน และแต่ละรายการต้องไม่ซ้ำกัน เช่นพนักงานคนเดียวกันไม่มีวันที่ 1 ซ้ำกัน 2 รายการ เพื่อให้เป็นเหมือนตารางหลักอีกตารางหนึ่งสำหรับนำไปใช้อ้างอิงในการทำรายงาน
สำหรับชีท TemplateIn จากไฟล์ล่าสุดไม่สามารถนำไปใช้ประโยชน์ในงานที่กำลังทำได้ครับ
ยกตัวอย่างตารางข้อมูลที่ควรจะทำขึ้นมาใหม่ เช่น
วันที่ | ชื่อ | ประกัน | ยอดสุทธิ | ฯลฯ
เพื่อจะนำประกันและยอดสุทธิไปใช้ในรายงานอื่น ๆ
Note: เครื่องหมาย | คือตัวคั่นคอลัมน์
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Sat Nov 05, 2011 11:06 am
by suka
อาจารย์คะ ลองส่งไฟล์ที่ปรับแล้วอีกรอบไม่ทราบว่าจะเข้าใจถูกหรือยังค่ะ
ขอบคุณค่ะ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Sat Nov 05, 2011 11:25 am
by snasui

เท่าที่ดู ทำมาถูกต้องแล้วครับ
การนำไปใช้ก็แค่ใช้ฟังก์ชั่น Sumif เข้ามาช่วยเพื่อสรุปข้อมูลเป็นรายบุคคลเท่านั้นครับ หรือหากจะใช้ ลองทำดูก่อน หากยังไม่ได้ค่อยถาม-ตอบกันเรื่อย ๆ ครับ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Sat Nov 05, 2011 2:22 pm
by suka
อาจารย์คะ หากจะขอโค๊ดเพื่อบันทึกข้อมูลที่ชึท TemplateIn จะได้ไหมคะ
ขอบคุณค่ะ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Sat Nov 05, 2011 2:42 pm
by snasui

Code ต้องเขียนขึ้นเองครับ ติดตรงไหนก็ค่อยมาถามกันต่อได้เรื่อย ๆ ครับ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Sat Nov 05, 2011 3:54 pm
by suka
อาจารย์คะ ลองใส่ Code นี้แล้วกดบันทึกเกิด Error ค่ะ
Code: Select all
Sub PasteData()
Dim rSource As Range
Dim rTarget As Range
With Worksheets("Template")
Set rSource = .Range("A2:T2").Resize(.Range("W1"))
End With
Set rTarget = Worksheets("Database").Range("A65536").End(xlUp).Offset(1, 0)
rSource.Copy
rTarget.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Set rSource = Worksheets("Form").Range("D1,B5:I5,V5:AD5,")
Set rTarget = Worksheets("TemplateIn").Range("A65536").End(xlUp).Offset(1, 0)
rSource.Copy
rTarget.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("Form").Range("F5:G100,J5:U100,AA5:AA100,AB5:AC100").ClearContents
End Sub
ขออาจารย์ช่วยด้วยค่ะ ขอบคุณค่ะ
Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Sat Nov 05, 2011 7:37 pm
by snasui

ไม่ทราบว่าต้องการ Copy วันสิ้นสุดจากชีท Form ไปด้วยหรือไม่ครับ ถ้าใช่ วันสิ้นสุดอยู่เซลล์ไหนครับ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม
Posted: Sat Nov 05, 2011 10:16 pm
by suka
Copy ค่ะอาจารย์ วันสิ้นสุดเซลล์ T4 ของชีท Form ขอบคุณค่ะ