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
tbTrkGalsPurch1 =上記情報に基づい100.000
- tbTrkGalsPurch2 = 93.000
- tbTrkGalsPurch3 = 0.000
- tbTrkGalsPurch4 = 0.000
- tbTrkGalsPurch5 = 0.000
- tbTrkGalsPurch6 = 0.000
、のみアイテム3〜6は0の値で終わるので、最初の2つのエントリ(tbAdjCostPerGal
)が加算されて平均化されます。 1ガロン当たりの費用は$ 2.364です。
要約すると、私は合計して平均する必要がありますtbAdjCostPerGal.text > 0
。 tbAdjCostPerGal
の項目を平均してみると、これは私が探している答えを私に与えるだろうと私は信じています。レコードごとに6つのエントリが常に存在します。
tbAdjCostPerGal
のエントリを調べるための変数を作成する方法を作成する必要があることがわかります。値が0より大きい項目のみを集計しています。これは知識が不足しています。誰かがこれの適切なフォーマットで私を助けてくれますか?
ゼロは正当な価値です - それはなぜ機能しませんか? – Plutonix
平均燃料価格のようです。私は燃料のための$ 0.0の価格を推測しているが、燃料が無料ではなく、記録された価格がないことを意味する。 (どこでその燃料でいっぱいに行かなければならないのですか?)平均燃費を計算する場合は、実際に$ 0値を除外します。この場合、より良い「記録された価格はありません」セマフォが使用されるべきです(SHOULD)。しかし、それはないので、$ 0.0のセマフォで作業する必要があります。 – David