Page 1 of 1
คำนวณหาค่า Maximum,Average,Count...โดยการใช้ VBA
Posted: Fri Aug 19, 2011 10:08 am
by saranyoo
สวัสดี ครับ อาจารย์
ผมมีเรื่องรบกวนอีกแล้วครับ
คือ ผมต้องการคำนวณหาค่า Maximum,Average,Count... โดยการใช้ VBA ครับ เพราะข้อมูลผมมีเยอะมากเลยครับ...
1. ตรวจสอบค่าวันที่ตรง คอลัมน์ B ว่าวันที่กันหรือเปล่า (Sheet1)
2. ตรวจสอบค่าเวลาตรง คอลัมน์ D ว่าเวลาเดียวกันมีกี่เชลล์ (ตรวจสอบเฉพาะชั่วโมง) (Sheet1)
3. ทำการคำนวณตรง คอลัมน์ O เพื่อหาค่า Maximum,Average,Count...(จำนวนเชลล์ที่จะคำนวณได้จาก ข้อ 2.) (Sheet1)
4. นำคำตอบที่ได้ไปตอบใน Sheet2 ตามเวลาของแต่ละชั่วโมง (ดังรูป Sheet2)

Re: คำนวณหาค่า Maximum,Average,Count...โดยการใช้ VBA
Posted: Fri Aug 19, 2011 9:47 pm
by snasui

ต้องการ VBA แต่ตอบเป็นสูตรครับ เนื่องจากพิจารณาแล้วเห็นว่าไม่จำเป็น ปกติสิ่งที่ทำได้ด้วยฟังก์ชั่นอยู่แล้วก็ควรเลือกทีจะทำด้วยฟังก์ชั่น การใช้ VBA คือสิ่งที่ฟังก์ชั่นปกติไม่สามารถหาค่าออกมาได้ครับ
จากไฟล์ที่ถามมา ที่ Sheet2
1. เซลล์ E5 คีย์สูตรเพื่อหาค่า Max
=MAX(IF(Sheet1!$B$5:$B$26=$B5,IF(Sheet1!$C$5:$C$26=$C5,IF(HOUR(Sheet1!$D$5:$D$26)=HOUR($D5),Sheet1!$O$5:$O$26))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
2. เซลล์ F5 คีย์สูตรเพื่อหาค่า Average
=AVERAGE(IF(Sheet1!$B$5:$B$26=$B5,IF(Sheet1!$C$5:$C$26=$C5,IF(HOUR(Sheet1!$D$5:$D$26)=HOUR($D5),Sheet1!$O$5:$O$26))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
3. เซลล์ G5 คีย์สูตรเพื่อนับว่ามีกี่รายการ
=COUNT(IF(Sheet1!$B$5:$B$26=$B5,IF(Sheet1!$C$5:$C$26=$C5,IF(HOUR(Sheet1!$D$5:$D$26)=HOUR($D5),Sheet1!$O$5:$O$26))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Re: คำนวณหาค่า Maximum,Average,Count...โดยการใช้ VBA
Posted: Mon Aug 22, 2011 8:17 am
by saranyoo
ขอบคุณครับ อาจารย์ที่ช่วยหาคำตอบให้...
แต่ที่ผมต้องใช้ VBA ในการหาค่าMaximum,Average,Count...เพราะข้อมูลผมต้องหาค่าเป็นพันเชลล์เลยครับอาจารย์
ผมเลยอยากได้สูตรเพื่อมาดัดแปลงในการใช้งานครับ เพราะเชลล์ที่จะหาค่าMaximum,Average,Count... มีความกว้างของเชลล์ไม่เท่ากันครับ เลยต้องพิจารณา จากวันที่และเวลาเพื่อหาจำนวนเชลล์ในการหาค่า...
รบกวนด้วยนะครับอาจารย์....
Re: คำนวณหาค่า Maximum,Average,Count...โดยการใช้ VBA
Posted: Mon Aug 22, 2011 4:09 pm
by snasui

การเขียน VBA เลียนแบบฟังก์ชั่นที่ Excel มีมาให้แล้วนั้นจะช้ากว่าฟังก์ชั่นที่มีมาให้พร้อม Excel ครับ หากต้องการใช้ฟังก์ชั่นที่เขียนมาเองก็ลองเขียนมาได้ครับ ติดขัดตรงไหนก็มาถามกันต่อ
ขอความช่วยเหลือเกี่ยวกับ VBA คำนวณค่า Max Average count
Posted: Tue Aug 23, 2011 2:48 pm
by saranyoo
ใช้ VBA
ช่วยด้วยครับผมทำไงขอคิดไม่ออกเลยครับ
ตัวอย่าง ผมต้องเช็ควันที่ (column C ของ 24hr) ตามด้วยเวลา(column E ของ 24hr)..แล้วหาค่า Max Average count ตรง column P ครับ
ส่วนคำตอบ ตอบตรง column M,N,O ของ truck ครับ
เพราะผมมีข้อมูลค่อยๆกันอีกเลยอันเลยครับ เลยอยากได้แถวทางในการเขียน
ขอบคุณครับ
ผมแนบไฟล์มาด้วยครับ
Re: คำนวณหาค่า Maximum,Average,Count...โดยการใช้ VBA
Posted: Tue Aug 23, 2011 3:06 pm
by snasui

ตอบไปแล้วครับ การขอแนวทางย่อมต้องเขียน VBA ได้บ้างครับ ไม่ใช่เขียนไม่เป็นเลย ย้ำอีกทีว่าให้ลองเขียนมาก่อนครับ
snasui wrote:
การเขียน VBA เลียนแบบฟังก์ชั่นที่ Excel มีมาให้แล้วนั้นจะช้ากว่าฟังก์ชั่นที่มีมาให้พร้อม Excel ครับ หากต้องการใช้ฟังก์ชั่นที่เขียนมาเองก็ลองเขียนมาได้ครับ ติดขัดตรงไหนก็มาถามกันต่อ