조건이 False 인 경우 셀 값을 변경하지 않고 유지 (Microsoft Excel)
IF 함수를 사용하는 동안 Vineet은 조건이 거짓 인 경우 셀에 이전 값을 유지하려고합니다. 즉, IF 함수가 사용되는 셀의 값은 IF 함수에서 테스트중인 조건이 참인 경우에만 변경되어야합니다. 그러나 기본적으로 IF 함수는 조건이 False 인 경우 값을 0으로 만듭니다.
IF 함수는 최대 3 개의 매개 변수를 사용할 수 있습니다. 첫 번째 매개 변수는 수행 할 비교이고, 두 번째 매개 변수는 비교가 참인 경우 반환되어야하는 것이고, 세 번째 매개 변수는 비교가 거짓 인 경우 반환되어야하는 것입니다. 마지막 매개 변수를 생략 할 수 있지만 그렇게하면 비교가 거짓이면 Excel에서 값 0을 반환합니다. (이것은 Vineet이 IF 함수 사용에 의해 반환되는 것을보고 있습니다.)
확실한 해결책은 IF 함수에 비교가 거짓 일 때 반환되어야하는 무언가를 제공하는지 확인하는 것입니다. 예를 들어 수식이 B1 셀에 있고 A1 셀의 내용을 비교한다고 가정 해 보겠습니다. 사용하는 공식은 다음과 같습니다.
=IF(A1<10,"under ten",B1)
A1의 값이 10보다 작 으면 “under 10″이라는 단어가 반환됩니다.이 조건이 충족되지 않으면 B1의 값이 반환됩니다.
이 수식은 B1 셀에 있으므로 조건이 거짓이면 셀의 이전 값이 반환됩니다.
또한 수식에 순환 참조가 포함되어 있음을 의미합니다. 순환 참조가 제대로 작동하려면 워크 시트에서 발생해도 괜찮다는 것을 Excel에 알려야합니다. 도구 선택 | 옵션 | 계산 탭을 클릭하고 반복 확인란이 선택되어 있는지 확인합니다. Excel은 이제 불만없이 순환 참조를 허용합니다.
워크 시트에서 순환 참조를 허용하지 않으려면 유일한 방법은 A1 셀의 변경 사항에 따라 셀 B1의 값을 업데이트하는 매크로를 만드는 것입니다.
Private Sub Workbook_SheetChange(ByVal Sh As Object, _ ByVal Target As Range) ' See if the change is related to our cell If Not (Application.Intersect(Target, Range("A1")) _ Is Nothing) Then If Range("A1") < 10 Then Range("B1") = "under ten" End If End If End Sub
ThisWorkbook 모듈에 추가 될 때이 간단한 매크로는 통합 문서가 변경 될 때마다 실행됩니다. 값이 A1 셀 (그리고 해당 셀만)이면 값이 10보다 작은 지 확인하기 위해 확인됩니다. 그럴 경우 B1 셀의 값이 변경됩니다. 그렇지 않은 경우 B1 셀의 값은 그대로 유지됩니다.
지금까지 논의 된 모든 접근 방식 (공식 또는 매크로)에 대해 염두에 두어야 할 하나의 “gottcha”가 있습니다. A1 셀의 값이 (예를 들어) 15이면 B1 셀에는 이전에 있던 것이 무엇이든 포함됩니다. A1 셀의 값을 7로 변경하면 B1은 “10 미만”으로 변경됩니다. 괜찮지 만 그 시점부터 B1 셀의 변경 사항이 나타나지 않습니다. 왜? 그런 다음 A1 셀을 10보다 큰 값으로 변경하면 B1 셀에 이전에 있었던 내용이 포함됩니다 (방금 설명 참조). 그리고 이제 이해 하겠지만 이전에 존재했던 가치는 “10 미만”이었던 이전의 실제 결과의 결과입니다. 따라서 참 또는 거짓,이 시점의 공식 또는 매크로는 “10 미만”이라는 텍스트를 표시합니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (8260)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.
link : / excelribbon-Leaving_a_Cell_Value_Unchanged_If_a_Condition_Is_False [조건이 False 인 경우 셀 값을 변경하지 않고 유지]
.