none
excel:请问如何最简单的实现这个:A列有很多值,B1中是22,C1中是55,我希望D1的值等于Avg(A22到A55),如果我改变了B1或C1的值,D1会重新生成。谢谢 RRS feed

  • 问题

  • excel:请问如何最简单的实现这个:A列有很多值,B1中是22,C1中是55,我希望D1的值等于Avg(A22到A55),如果我改变了B1或C1的值,D1会重新生成。谢谢

    Mark as Answer if it helps. This posting is provided "AS IS" with no warranties, confers no rights.

    2014年4月29日 8:47

答案

全部回复

  • D1输入公式:=AVERAGE(INDIRECT("A" & B1):INDIRECT("A"& C1))
    2014年4月29日 9:10
  • cool Thanks! 能否请帮忙看另外我的一个问题

    A列有很多值,B1中是22,B2中是55,B3中是66,。。。我希望D列的值填上A1-22,E列的值填上A23-77,F列的值填上A78-143,。。。也就是说B列每行的值是从A列取段的长度。如果我改变了B1或D1的值,E,F列会重新生成。谢谢


    Mark as Answer if it helps. This posting is provided "AS IS" with no warranties, confers no rights.

    2014年4月29日 10:52
  • Sub CopyPaste()


    Dim iRow As Integer
    Dim iFrom As Integer
    Dim iTo As Integer
    Dim iCurrent As Integer
    Dim iNewRow As Integer

    iRow = 2

    Do Until IsEmpty(Cells(iRow, 2))
       
        iNewRow = 2

        iFrom = Cells(iRow, 2).Value
        iTo = Cells(iRow, 3).Value
        iCurrent = iFrom
       
        Do Until iCurrent > iTo
            Cells(iNewRow, 3 + iRow).Value = Cells(iCurrent, 1).Value
            iNewRow = iNewRow + 1
            iCurrent = iCurrent + 1
        Loop
       
        iRow = iRow + 1
    Loop

    End Sub


    Mark as Answer if it helps. This posting is provided "AS IS" with no warranties, confers no rights.

    2014年4月29日 11:59