2015-04-16 109 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