다른 답변은 재 계산 메커니즘과 휘발성 함수의 역할에 중점을 두지 만, 그 질문의 요점을 놓친 것 같습니다. 그것은 사용되었지만 아직 "왜"가 아닌 규칙을 다룹니다. 나는 그것에 집중할 것이다.
디자인 컨셉
가장 현대적인 스프레드 시트의 디자인 컨셉과 빌딩 블록으로 시작하겠습니다. "책임 부서"가 있습니다. 기능은 특정 작업을 수행하고 요청 될 때마다 수행하는 전용 루틴입니다. 그와 별도로 스프레드 시트 응용 프로그램은 요청이있을 때 제어합니다.
함수 자체에는 다시 계산하거나 다시 계산하지 않도록 선택할 논리가 없습니다. 모든 Excel 함수의 특성은 트리거 될 때마다 일부 유형의 작업을 수행하는 것입니다. 현재 값에 대한 자체 "메모리"또는 과거 계산 기록이있는 함수는 없습니다. 이것이 처음으로 업무를 수행해야하는지 여부를 알 수있는 방법이 없습니다. 따라서 기본 기능은 한 번만 실행할 수 없습니다. 함수가 다시 계산되면 기능을 수행하도록 설계되어 새로운 가치를 창출합니다.
스프레드 시트 응용 프로그램에는 teylyn의 답변에 설명 된대로 불필요한 재 계산을 건너 뛰어 시간을 절약 할 수있는 지능이 포함되어 있습니다. 에만 응용 프로그램이 함수의 값을 다시 계산 것들의 필요성을 촉발 스프레드 시트의 변화에 의해 영향을받지 않는 것을 알고있는 경우 재 계산이 생략 된 것입니다 시간입니다.
따라서 함수를 한 번 실행 한 다음 그 값을 유지하려면 어떻게해야합니까? 난수를 생성하고 결과가 변경되지 않는 예를 들어보십시오. 무작위로 생성 된 상수 생성에 대해 설명하고 Excel을 사용하여이를 수행 할 수 있습니다.
Excel은 기능을 어떻게 사용하고 싶은지 알 수 없습니다. 새 값을 계속 생성하거나 마지막 세트를 보존할지 여부 각 옵션은 Excel에서 지원하는 사용 사례입니다. Excel은 새 값을 계산하는 도구와 이전 값을 보존하는 도구를 제공하여 두 경우 모두를 수용합니다. 원하는 것을 만들 수 있습니다. 그러나 사용자는 자신이 원하는 것을 수행 할 책임이 있습니다.
기능 논리
함수의 기능에 대한 논리를 봅시다. 재 계산 로직이 임의의 함수를 건너 뛰는 것이 합리적 일 수 있습니까? 스프레드 시트의 다른 변경에 영향을받지 않아야합니다.
재 계산시 함수 값이 변경되는지 여부는 해당 기능의 목적과 기능에 따라 다릅니다. 상수 값에 대한 계산은 항상 동일한 결과를 생성합니다. 변경되지 않은 셀 값을 기반으로하는 작업은 동일한 결과를 생성합니다.
그러나 일부 기능은 매번 다른 결과를 생성하려는 의도와 목적으로 설계되었습니다. 예를 들어 현재 시간에 따른 기능을 고려하십시오. 재 계산 시간을 기준으로 새 결과를 생성합니다. 현재 시간을 기준으로 값을 생성하고 다시 계산할 때 업데이트하지 않는 목적을 가진 함수를 사용할 수 없습니다.
재 계산 제어 목표는 재 계산이 트리거 될 때 모든 것이 현재 상태를 항상 반영하도록하는 것입니다. 현재 시간에 따른 기능이 업데이트되지 않으면 해당 기준을 충족하지 못합니다.
RANDBETWEEN과 같은 "무작위"함수는 다시 계산할 때 새로운 난수를 생성하는 목적을 가지고 있습니다. 그것이 그들이 의도 한 것입니다. 스프레드 시트에서 발생하는 다른 일의 영향을받지 않기 때문에 재 계산을 건너 뛸 수 있다고 주장 할 수 있습니다.
이것이 기본 동작 인 경우 스프레드 시트를 업데이트하지만 임의의 값은 일정하게 유지됩니다. 그것은 매우 무작위적인 행동이 아닙니다. 그것은 하나의 유스 케이스를 지원하지만 다른 유스 케이스는 지원하지 않습니다. 기본 설계 개념으로 돌아가서 다른 기능과 마찬가지로 처리됩니다. 기본 동작은 Excel에서 다시 계산하는 것입니다. 사용 사례의 이전 값을 유지하려면 사용 가능한 도구를 사용하여이를 수행해야합니다.