해결 엑셀2019윈도우10
vba 사용자 입력값으로 trim 비율 설정이 불가한가요?
VBA에서 사용자 입력 값을 받아 TRIM 비율을 지정하고싶습니다.
result = Application.WorksheetFunction.TrimMean(rng, 0.1)에서
result = Application.WorksheetFunction.TrimMean(rng, value1)로 입력받은 값을 넣으니 아래와 같은 오류가 발생합니다.

TRIMMEAN에서 사용자 입력값으로는 진행을 못하는지, 만약 할 수 있다면 코드를 어떻게 고쳐야 할지 알려주시면 감사하겠습니다.
그리고 상하위 다른 비율을 제거하고 싶을 때(ex 상위 10%, 하위 20%)사용할 수 있는 함수나 방법도 알려주시면 감사하겠습니다!!
result = Application.WorksheetFunction.TrimMean(rng, 0.1)에서
result = Application.WorksheetFunction.TrimMean(rng, value1)로 입력받은 값을 넣으니 아래와 같은 오류가 발생합니다.
TRIMMEAN에서 사용자 입력값으로는 진행을 못하는지, 만약 할 수 있다면 코드를 어떻게 고쳐야 할지 알려주시면 감사하겠습니다.
그리고 상하위 다른 비율을 제거하고 싶을 때(ex 상위 10%, 하위 20%)사용할 수 있는 함수나 방법도 알려주시면 감사하겠습니다!!
1
E
숲
또
P
아
댓글 3
a. 계산 영역이 정확하지 않습니다.
Set rng = Worksheets("결과시트").Range("C1:C1051")
b. 결과 출력할 시트가 없습니다.
ActiveSheet.Range("H1").Value = Format(result, "hh:mm:ss")
c. 근본적으로 시간에 음수를 사용할 수 없습니다. (텍스트??)
TrimMean을 기존 C열에 적용한 것과, D열에 복사한 후 음수 값을 지운 것 모두 값이 동일합니다.
=> 시간계산시 음수가 있으면 시간형식 말고 그냥 숫자로 두고 계산한 다음에 최종 결과만 시간형식으로 바꾸세요...
1.음수 시간 값은 평균에 포함이 안 되는 것 같은데 포함해서 평균 내는 방법이 있나요?
2. 숫자로 두고 계산하라고 하셔서 숫자 형식으로 변환 시 음수 시간만 시간형식으로 그대로 나오는데 음수시간형식도 숫자형식으로 바꿀 수 있나요?
3. 상하위 다른 비율을 제거하고 싶을 때(ex 상위 10%, 하위 20%)사용할 수 있는 함수나 방법도 알려주시면 감사하겠습니다!
D2 =IF(LEFT(C2,1)="-", -MID(C2,2,10), C2)
Trim범위를 다르게 하려면 하나씩 별도로 정리해서 작업해야 합니다.
맞는지 첨부파일 참고해 보세요.