워크 시트에 수식이 있고 수식에서 참조하는 셀이 비어있는 경우 수식은 여전히 ​​0 값을 반환합니다. 예를 들어 수식 = A3 인 경우 A3 셀이 비어 있지 않으면 수식은 A3 셀의 내용을 반환합니다. 이 경우 수식은 0 값을 반환합니다.

이것은 “blank”가 “empty”와 동의어로 사용될 때 수식이 빈 값을 반환하는 것이 불가능하다는 생각과 관련이있는 것 같습니다.

그러나 수식을 약간 확장하여 빈 문자열을 반환 할 수 있습니다. 수식으로 = A3을 사용하는 대신 다음을 사용합니다.

=IF(ISBLANK(A3),"",A3)

이 수식은 참조 된 셀 (A3)이 비어 있는지 여부에 따라 True 또는 False를 반환하는 ISBLANK를 사용합니다. 그런 다음 IF 함수는 A3이 비어 있으면 빈 문자열 ( “”)을 반환하고 A3이 비어 있지 않으면 A3의 값을 사용합니다.

수식이 반환하는 내용에 관계없이 결과를 다른 수식에서 사용할 수 있으며 제대로 작동합니다. 빈 문자열을 반환하더라도 0이 포함 된 것처럼 다른 수식에서 처리됩니다.

셀에 0이 포함 된 것처럼 처리하는 것이 문제가 될 수있는 영역 (예 : 수식의 결과를 차트로 표시하는 경우)에서 다음과 같이 수식을 약간 수정할 수 있습니다.

=IF(ISBLANK(A3),NA(),A3)

이 수식은 A3이 비어 있으면 # N / A 오류를 반환합니다. 이 오류는 수식을 참조하는 다른 수식을 통해 전파되지만 차트 작성시 # N / A 오류는 완전히 무시됩니다.

위의 솔루션은 대부분의 사람들에게 만족 스럽지만 일부 사람들은 소스 셀이 비어 있으면 대상 셀이 실제로 비어있는 것을보고 싶어합니다. 예를 들어 A3 셀이 비어있는 경우 B7 셀을 비워 둘 수 있습니다. 이미 설명한대로 셀 B7에 수식을 넣으면 셀 B7은 실제로 비어 있지 않고 수식을 포함합니다.

이것이 진정한 “공백”이라는 목표라면 매크로를 사용해야 만 달성 할 수 있습니다. 매크로는 소스 셀이 변경되었는지 확인해야합니다. 그렇다면 소스에있는 모든 항목을 대상 셀에 복사해야합니다.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim rMonitor As Range     Dim rTarget As Range

Set rMonitor = Range("A3")

Set rTarget = Range("B7")



If Not Intersect(Target, rMonitor) Is Nothing Then         rMonitor.Copy rTarget     End If

Set rMonitor = Nothing     Set rTarget = Nothing End Sub

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (2174)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.

link : / excelribbon-Returning_Zero_When_a_Referenced_Cell_is_Blank [참조 된 셀이 비어있을 때 0 반환].