หาค่าเฉลี่ยในช่วงที่กำหนด เมื่อตรงตามเงื่อนไขบางอย่าง
Posted: Wed Feb 05, 2020 11:53 pm
ผมพยายามจะหาค่าเฉลี่ยของค่าที่มีจำนวนไม่แน่นอน จากในคอมลัมน์ที่มีจำนวนคอลัมน์ไม่แน่นอนเช่นกัน โดยเมื่อกดปุ่มโปรแกรมจะคำนวณว่าใน แถวที่ 2 นั้นมีเลขของงานย่อยหรือไม่ เริ่มที่แถบ F ไปทางขวาเรื่อยๆ จนกว่าจะว่าง เงื่อนไขคือ ถ้ามีเลขอยู่ในช่องในแถวที่ 2 จะต้องนำค่าที่อยู่ในคอมลัมน์นั้น เช่นคอมลัมน์ F ตั้งแต่แถวที่ 3 เป็นต้นไป ไปจนถึงค่าสุดท้าย ไปหาค่าเฉลี่ยและเก็บไว้ในตัวแปรที่ชื่อ xbar จะให้วนลูปในแต่ละคอมลัมน์แบบนี้ไปจนกว่าช่องในแถวที่ 2 จะเป็นช่องว่าง จึงหยุดทำงาน
อันนี้คือโค้ดในปุ่มคำนวณที่ผมได้ลองเขียนดูครับ อันนี้รูปตัวอย่าง
Code: Select all
Sub NumberOfSample_Button1_Click()
Dim i As Long
Dim xbar As Double
For i = 1 To Val(Range("F2").End(xlToRight))
If ThisWorkbook.Sheets("Number Of Sample").Cells(2, i + 5) <> "" Then
xbar = Application.WorksheetFunction.Average(Workbook.Sheets("Number Of Sample").Range("Cells(3,i+5) : cells(3,i+5).End(xlDown)"))
End If
Next i
End Sub
อันนี้คือโค้ดในปุ่มคำนวณที่ผมได้ลองเขียนดูครับ อันนี้รูปตัวอย่าง