2015-04-16 110 views
-3

我有一個Excel文件,其中有前四個值,然後是三個整數。我需要將這三個整數結合到一個單元格中,並且該單元格需要是他們的平均值。所以從:如何結合並計算三個單元格的平均值

 
- Gender |Age |Country |Score 1|Score 2|Score 3 
- male |15 |NL  |1  |4  |1  | 
- male |23 |NL  |3  |3  |2  | 
- female |34 |UK  |4  |3  |3  | 
- male |53 |USA  |5  |4  |4  |

到:

 
- Gender |Age |Country |Score 
- male |15 |NL  |2 
- male |23 |NL  |3 
- female |34 |UK  |3 
- male |53 |USA  |4
+1

你到目前爲止試過了什麼?如果您將代碼添加到您的帖子中,我們將能夠幫助您找出問題所在。雖然這裏的大多數人不會爲你寫信。 – FreeMan

回答

1

下面的宏將做你想要的。你可以直接從工作表中調用vba函數,但是當你想要替換單元時,函數沒有意義。我將循環的參數放在變量中,以便更容易地修改以滿足您的需求。

如果你需要它圓潤,然後做在代碼的

avg=avg/3 

行舍入。

Sub ConsolidatetoAvg() 
    Dim StartingRow As Integer 
     StartingRow = 2 

     Dim EndingRow As Integer 
     EndingRow = 5 

     Dim StartingColumn As Integer 
     StartingColumn = 4 

     Dim index As Integer 
     Dim x As Integer 
     Dim avg As Double 

     For index = StartingRow To EndingRow 
      avg = 0 
      For x = StartingColumn To StartingColumn + 3 
       avg = avg + Cells(index, x) 
       Cells(index, x) = "" 
      Next 
      avg = avg/3 
      Cells(index, StartingColumn) = avg 
     Next 
End Sub 
+0

謝謝,這真的很有幫助。 –

0

同時公式選項,假設- Gender是A1:

=ROUND(AVERAGE(D2:F2),0) 
在G2

,並複製下來,以適應。然後選擇ColumnG,複製,粘貼特殊值,列D:F刪除並在D1中輸入Score