전체 평균 6 개를 계산하려고합니다. 이러한 항목 중 일부는 따라서 평균을 계산할 때 제로가되지 않을 수 있습니다. 평균을 완전히 혼동하고이를 통해 힘든 시간을 보내고 있습니다.배열을 기반으로 AVG 계산
내 코드 내가 현재 가지고로 :
Dim a,
af1, af2, af3, af4, af5, af6,
t7, t8, t9, t10, t11, t12 As Decimal
'Adjusted Fuel Cost per line
af1 = CDec(IIf(tbAdjCostPerGal1.Text.Trim = "", 0D, tbAdjCostPerGal1.Text.Trim))
af2 = CDec(IIf(tbAdjCostPerGal2.Text.Trim = "", 0D, tbAdjCostPerGal2.Text.Trim))
af3 = CDec(IIf(tbAdjCostPerGal3.Text.Trim = "", 0D, tbAdjCostPerGal3.Text.Trim))
af4 = CDec(IIf(tbAdjCostPerGal4.Text.Trim = "", 0D, tbAdjCostPerGal4.Text.Trim))
af5 = CDec(IIf(tbAdjCostPerGal5.Text.Trim = "", 0D, tbAdjCostPerGal5.Text.Trim))
af6 = CDec(IIf(tbAdjCostPerGal6.Text.Trim = "", 0D, tbAdjCostPerGal6.Text.Trim))
'Truck Gallons Purchased Related
t7 = CDec(IIf(tbTrkGalsPurch1.Text.Trim = "", 0D, tbTrkGalsPurch1.Text.Trim))
t8 = CDec(IIf(tbTrkGalsPurch2.Text.Trim = "", 0D, tbTrkGalsPurch2.Text.Trim))
t9 = CDec(IIf(tbTrkGalsPurch3.Text.Trim = "", 0D, tbTrkGalsPurch3.Text.Trim))
t10 = CDec(IIf(tbTrkGalsPurch4.Text.Trim = "", 0D, tbTrkGalsPurch4.Text.Trim))
t11 = CDec(IIf(tbTrkGalsPurch5.Text.Trim = "", 0D, tbTrkGalsPurch5.Text.Trim))
t12 = CDec(IIf(tbTrkGalsPurch6.Text.Trim = "", 0D, tbTrkGalsPurch6.Text.Trim))
'Calculate ADJUSTED Average Cost of ALL Fuel plus Fuel Card fee and any Fuel Discounts this Load
Try
If af1 > 0 Then
a = (af1 + af2 + af3 + af4 + af5 + af6)/(t7 + t8 + t9 + t10 + t11 + t12)
tbFuelCostAdj.Text = a.ToString("C3")
Else
a = 0D
tbFuelCostAdj.Text = a.ToString("C3")
End If
Catch ex As Exception
'If a calculation error occurs, show Error message box
Dim frm As New MeMsgCalcError(ex, "'Adjusted Cost of Fuel this Load' Calculation Error." & vbCrLf & "Lines 644-652")
frm.Show()
End Try
이 내가 평균을 얻기 위해 시도하고 내 코드의 관련 부분이다.
- tbAdjCostPerGal1 = $ 2.259
- tbAdjCostPerGal2 = $ 2.469
- tbAdjCostPerGal3 = $ 0.000
- tbAdjCostPerGal4 = $ 0.000
- tbAdjCostPerGal5 = $ 0.000
tbAdjCostPerGal6 = $ 0.000 :
나는 예로서이
,451,515,
tbTrkGalsPurch1 = 100.000
- tbTrkGalsPurch2 = 93.000
- tbTrkGalsPurch3 = 0.000
- tbTrkGalsPurch4 = 0.000
- tbTrkGalsPurch5 = 0.000
- tbTrkGalsPurch6 = '정보를 바탕으로 0.000
이상 만 첫 번째 2 개 항목 (tbAdjCostPerGal
)이 추가되고 항목 3-6이 0 값으로 끝나기 때문에 평균화됩니다. 1 갤런 당 평균 2.364 달러의 최종 결과.
요약하면, 나는 합계와 평균이 모두 tbAdjCostPerGal.text > 0
일 필요가 있습니다. 나는 내가 단지 tbAdjCostPerGal
항목을 평균한다면 이것은 내가 찾고있는 대답을 줄 것이라고 믿는다. 레코드 당 항상 6 개의 항목이 있습니다.
tbAdjCostPerGal
항목을 살펴볼 변수를 만드는 방법이 필요하다는 것을 알고 있으며, 0보다 큰 값을 가진 항목 만 합산하여 지식이 부족한 곳입니다. 누군가가이 포맷의 적절한 형식으로 나를 도울 수 있습니까?
0은 합법적 인 가치입니다. 왜 그것이 작동하지 않습니까? – Plutonix
평균 연료 가격 인 것 같습니다. 나는 연료 가격이 0.0 달러라고 추측하고 있는데, 연료 가격이 아니라 연료 가격이 무료라는 것을 의미합니다. (나는 그 연료로 가득 차서 가야합니까?) 따라서 평균 연료비를 계산할 경우 $ 0 값을 제외하고 싶습니다. 이 경우 더 나은 "기록 된 가격 없음"세마포어를 사용해야합니다 (SHOULD). 하지만 우리는 $ 0.0 세마포어로 작업해야합니다. – David