2016-07-14 2 views

답변

0

해킹-Y 방법 : 다음

=IF(J3>50, J3, '') 

와 J4 입력하고 4 분기까지 복사합니다.

그런 다음 당신은 손님이 워크 시트에서 호출 할 수있는 워크 시트에 VBA에서 기능을 만들어 추가 할 수 있습니다

=AVERAGE(J4:Q4) 
+0

이것은 실제로 꽤 영리합니다. 문제는 수천 개의 행이 있다는 것입니다. 나는 항상 그 행의 오른쪽으로 할 수 있지만, 나는 이것을하기위한 공식적인 방법을 찾고있다. 나는 실제로이 문제를 해결하기 위해 이것을 사용할 것이지만, 다른 누군가가 "진짜"답을 얻길 바랍니다. 도와 주셔서 감사합니다! – Aishvar

1

와 J5를 입력합니다. 엑셀 워크 시트에서

당신은

=Average_Cells(first_cell_for_average, value_above) 

first_cell_for_average를 입력 할 필요가 - 당신은 함수가 나머지를 처리 ​​할 A3를 넣을 수 있습니다.

value_above = 게시물에 50이라고 표시되어 나중에 원하는 값으로 수정할 수 있습니다.

기능 코드 :

Public Function Average_Cells(ByRef first_Cell As Range, larger_Than As Long) As Double 

' Row 3 in your post 
last_col = ActiveSheet.Cells(3, ActiveSheet.Columns.count).End(xlToLeft).Column 
first_Col = first_Cell.Cells(1, 1).Column 

For col = first_Col To last_col 
    If Cells(3, col).Value > larger_Than Then 
     GoTo Exit_For 
    End If 
Next 

Exit_For: 
Average_Cells = Application.WorksheetFunction.Average(Range(Cells(3, col), Cells(3, last_col))) 

End Function 
관련 문제