programing

Excel 공식에 변수 같은 것이 있나요?

showcode 2023. 4. 25. 23:48
반응형

Excel 공식에 변수 같은 것이 있나요?

저는 특히 Excel 공식에서 함수를 반복하는 것을 싫어합니다.다음과 같은 문제를 피할 수 있는 방법이 있습니까?

=IF( VLOOKUP(A1, B:B, 1, 0) > 10, VLOOKUP(A1, B:B, 1, 0) - 10, VLOOKUP(A1, B:B, 1, 0) )

[위 내용은 문제의 단순한 예에 불과하며, 현재 사용하고 있는 특정 공식은 아닙니다.]

공식의 VLOOKUP 부분에 대한 이름을 정의할 수 있습니다.

  1. 이 공식을 포함하는 셀을 강조 표시합니다.
  2. 삽입 메뉴에서 이름으로 이동한 다음 정의를 클릭합니다.
  3. 변수의 이름을 입력하십시오(예: '값').
  4. 참조 대상 상자에 VLOOKUP 수식을 입력합니다.=VLOOKUP(A1,B:B, 1, 0)
  5. 추가를 클릭하고 대화상자를 닫습니다.
  6. 원래 공식에서 VLOOKUP 부품을 방금 정의한 이름으로 바꿉니다.=IF( Value > 10, Value - 10, Value )

여기서 (1)단계는 중요합니다. 두 번째 줄에서 Excel이 사용하기를 원할 것입니다.VLOOKUP(A2,B:B, 1, 0), 세 번째 행입니다.VLOOKUP(A3,B:B, 1, 0), 등. (4)단계는 상대 참조를 사용하여 이를 달성합니다.A1그리고.B:B, 절대 참조가 아닙니다( ).$A$1그리고.$B:$B).

참고:

  1. 리본이 있는 새 Excel 버전은 공식 리본 -> 이름 정의로 이동하십시오.그 후에도 마찬가지예요.또한 이름을 사용하려면 수식을 편집하는 동안 이름 정의 바로 아래에 있는 "수식에서 사용"을 수행하거나 입력을 시작하면 Excel이 이름을 제안합니다(크레딧:마이클 러쉬입니다.)

  2. 단계 단축: 1입니다.셀을 마우스 오른쪽 버튼으로 누르고 이름 정의...를 누릅니다.2. 해당 이름/로컬 변수 3과 연결할 이름과 수식을 입력합니다.변수를 사용합니다(기준: Jens Bodal).

이제 LET 함수를 사용하여 Excel 공식 내에서 변수를 선언할 수 있습니다.Microsoft 365 사용자는 2020년 6월부터 이 기능을 사용할 수 있습니다.

예를 들어, 공식은 다음과 같습니다.

=LET(MyFunc,VLOOKUP(A1,B:B,1,0), IF(MyFunc > 10, MyFunc - 10, MyFunc ) )

첫 번째 인수는 변수 이름이고 두 번째 인수는 함수 또는 범위입니다.인수 변수, 함수/범위 쌍을 더 추가할 수 있습니다.

변수를 추가한 후 마지막 인수는 관심 수식이 됩니다. 방금 만든 변수를 호출합니다.

자세한 내용은 여기에서 Microsoft 웹 페이지를 참조하십시오.

셀이나 열에 중간 값을 저장할 수 있습니다(선택할 경우 숨길 수 있음).

C1: = VLOOKUP(A1, B:B, 1, 0)
D1: = IF(C1 > 10, C1 - 10, C1)

두 가지 옵션이 있습니다.

  • VLOOKUP자체 셀에서 기능을 수행합니다.=VLOOKUP(A1, B:B, 1, 0)(예: C1), C1을 참조하는 공식입니다.=IF( C1 > 10, C1 - 10, C1 )
  • UDF를 생성합니다.

Function MyFunc(a1, a2, a3, a4)
    Dim v as Variant
    v = Application.WorksheetFunction.VLookup(a1, a2, a3, a4)
    If v > 10 Then
        MyFunc = v - 10
    Else
        MyFunc = v
    End If
End Function

네, 하지만 직접적이진 않아요

좀 더 간단한 방법

  • 하나의 셀에 Vlookup()을 게시하고 필요한 경우 해당 주소를 사용할 수 있습니다. - Excel에서 변수를 직접 사용하는 유일한 방법일 수 있습니다.

그렇지 않으면요.

  • VBE 매크로 내에서 Vlookup(참조)-10을 래퍼 함수로 정의할 수 있습니다.Alt+f12를 누르고 해당 기능을 사용합니다.

룩업을 포함하는 NAME을 정의하는 것은 깔끔한 해결책이지만, 시트 이름을 항상 셀 참조와 함께 저장하는 것처럼 보입니다.하지만 인용문에 있는 시트 이름은 삭제하고 "!"만 남겨두면 될 것 같습니다.

Excel의 수식 바에는 변수를 정의하는 방법이 없습니다.이 문제를 해결하려면 기능을 다른 셀에 배치할 수 있습니다(선택적으로 내용을 숨기거나 별도의 시트에 배치).그렇지 않으면 VBA 함수를 생성할 수 있습니다.

변수와는 관계 없이, 예시를 풀어나갈 수 있는 방법은 역시 변수와 관련이 없습니다.MOD다음을 참조하십시오

=Mod(VLOOKUP(A1, B:B, 1, 0);10)

다소 주제에서 벗어나긴 하지만, Jonas Böhmer가 제시한 솔루션에 이어, 실제로 MOD가 귀사 사례에 가장 적합한 솔루션이라고 생각합니다.

결과를 한 자릿수로 제한하려면 MOD를 사용하는 것이 가장 좋습니다.

즉, VLOOKUP(A1, B:B, 1, 0)이 23을 반환한다고 가정합니다.IF 공식은 단순히 23 - 10을 계산하고 결과적으로 13을 반환합니다.

반면, MOD(VLOOKUP(A1, B:B, 1, 0, 10)는 23을 10으로 나누고 나머지를 3으로 표시합니다.

다시 본론으로 돌아가서, 저는 어떤 부분을 반복하는 공식을 사용해야 할 때, 보통 다른 셀에 놓고 다른 사람들이 이미 제안한 것처럼 숨깁니다.

언급URL : https://stackoverflow.com/questions/771973/are-there-such-things-as-variables-within-an-excel-formula 입니다.

반응형