source

엑셀에서 값을 범위로 제한하려면 어떻게 해야 합니까?

ittop 2023. 4. 27. 22:45
반응형

엑셀에서 값을 범위로 제한하려면 어떻게 해야 합니까?

C++에서 나는 사용할 것입니다.boost::clamp이를 위하여기본적으로 저는 약간의 탁월한 기능을 가지고 있습니다.

A1*B2+C3+D4

저는 그것을 +/- 어떤 숫자로 제한하고 싶습니다, 그것이라고 부릅니다.X1분명한 방법은 다음과 같습니다.

MAX(-X1, MIN(X1, A1*B2+C3+D4))

하지만 저는 이것을 할 수 있기를 원합니다.

CLAMP(A1*B2+C3+D4, -X1, X1)

이것이나 비슷한 것이 존재합니까?저는 단지 궁금할 뿐입니다. 분명히 해결책은 효과가 있습니다. 그저 보기 흉합니다.

이 작업은 MEDIAN을 사용하여 수행할 수 있습니다. MEDIAN은 세 가지 값 중에서 중간을 선택하여 하한과 상한을 효과적으로 제한합니다.

예를 들어 최소값이 5이고 최대값이 10이라고 가정합니다.

=MEDIAN(5,0,10)5입니다

=MEDIAN(5,7,10)7입니다

=MEDIAN(5,12,10)10입니다

스프레드시트 공식을 사용하면 최소/최대 구성보다 훨씬 더 잘 할 수 있다고 생각하지 않습니다.당신은 쓸 수 있습니다.clampVBA 단위:

Function clamp(x As Double, lower As Double, upper As Double) As Double
    If x < lower Then
        clamp = lower
    ElseIf x > upper Then
        clamp = upper
    Else
        clamp = x
    End If
End Function

표준 코드 모듈에 입력하면 다음과 같은 작업을 수행할 수 있습니다.

여기에 이미지 설명 입력

열 A에서 0 - 2*pi 범위의 값이 있습니다.C2에서 나는 0.5의 값을 가집니다.B1에 입력했습니다.

=clamp(SIN(A1),-$C$2,$C$2)

그리고 복사했습니다.그래프에 결과가 표시됩니다.

(VBA 솔루션을 제공했으므로 Excel-VBA 태그를 추가하겠습니다.비 VBA 솔루션을 선호하는 경우에도 나중에 다른 사람들이 질문을 검색하여 VBA 솔루션에 익숙해질 수 있습니다.

언급URL : https://stackoverflow.com/questions/40776871/how-do-i-constrain-a-value-to-a-range-in-excel

반응형