Excel 2010에서 빈 셀을 참조 할 때 빈 표시


27

여러 개의 개별 워크 시트가 포함 된 Excel 2010 통합 문서가 있습니다. 시트 중 하나의 셀은 동일한 통합 문서에있는 두 개의 다른 워크 시트의 개별 셀에 연결됩니다. 본질적으로 한 시트의 특정 셀에 입력 된 값이 무엇이든 두 개의 다른 시트에 셀이 채워 진다고 말하는 직접 셀 참조를 사용하고 있습니다. 이것을 달성하기 위해 셀 참조와 함께 (=) 함수를 사용했습니다.

내가 겪고있는 문제는 기본 셀이 비어있는 경우에도 해당 기본 셀에서 채워진 셀은 빈 채로 유지되지 않고 0을 표시한다는 것입니다.

연결된 기본 셀이 비어 있으면 하위 셀을 비워두기를 원합니다.


내 공식은 매우 길기 때문에 IF 구성이 허용되지 않는 좋은 질문이지만 나도 충분한 대답을 찾지 못했습니다. {= IFERROR (INDEX (NEPŘÍMÝ.ODKAZ ( "EsZkouska")); SMALL (KDYŽ ((INDEX (NEPŘÍMÝ.ODKAZ ( "EsZkouska") ;; 1; 1) = "ČSN721180") * (INDEX (NEPŘÍMÝ.ODKAZ ( " EsZkouska ") ;; 9; 1) ="RC_P_B "); ŘÁDEK (NEPŘÍMÝ.ODKAZ ("EsZkouska "))-MIN (ŘÁDEK (NEPŘÍMÝ.ODKAZ ("EsZkouska ")))) + 1;" "); 1) ; 17; 1); "")}
— Vojtěch Dohnal

:이 방법과 함께 IF 건설 사용할 수 있습니다 stackoverflow.com/questions/22359452/...을 . 이와 같이 명명 된 수식을 만들어 간단한 IF 문에서 사용할 수 있습니다.
— Vojtěch Dohnal

답변:


49

Excel에서 셀 내용을 숫자 대신 텍스트 값으로 처리하도록 강제해야합니다.이 값은 빈 값으로 자동 수행됩니다.

=A2 & ""

이렇게하면 Excel에서 해당 셀 참조를 텍스트 값으로 만들어 공백을 0으로 변환 할 수 없습니다.


4
와! 나는 그것이 너무 간단하다는 것을 믿을 수 없다!
— Scott

1
이 솔루션은 숫자 입력 형식을 어떻게 처리합니까? 이 답변이 숫자 데이터를 파괴하는 것처럼 보입니다. 물론-당신은 셀이 비어있을 때 0을 얻지 못하지만 숫자 대신 텍스트 데이터를 얻습니다 ... 이것은 실제로 문제가 있습니까? 아니면 안심 단어가 있습니까?
— LudvigH

1
텍스트로 저장합니다. 그러나 수학 방정식에서 사용하면 Excel에서 다시 숫자로 변환해야합니다. 그러나 실제로는 다른 워크 시트 나 숨겨진 열에서 작업을 이미 수행 한 보고서에만이 솔루션을 배포합니다.
— wbeard52

18

다음은 세 가지 답변입니다.

1) other.cell.reference가 현재 =(예  :) 뒤에 있는 참조 수식을 나타내도록 Sheet17!$H$42하여 해당 링크 참조를

=IF(other.cell.reference <>"",other.cell.reference, "")

2) 연결된 셀의 "번호"형식을 "사용자 정의"로 설정하십시오 General;–General;.

3)“Excel 옵션”,“고급”페이지,“이 워크 시트에 대한 옵션 표시”섹션에서“값이 0 인 셀에 0 표시”확인란의 선택을 취소하십시오. 경고 : 이렇게하면 워크 시트의 모든 0이 사라집니다.


1
첫 번째 옵션은 셀 내에 공식을 두 번 입력 (또는 복사)해야하므로 차선책입니다. 수식이 너무 길면 나중에 불쾌 할 수 있습니다. 그런 다음 나중에 해당 수식을 편집 (또는 더 나쁘게 디버깅)해야합니다. 두 번째 옵션은 나를 위해 작동하지 않는 것 같지만 어쩌면 내가 잘못하고 있습니다. 세 번째는 효과의 범위가 실제로 원하는 것보다 훨씬 넓기 때문에 이상적이지 않습니다. 더 나은 옵션이 실제로 없습니까?
— Iszi

@ Iszi : 첫 번째 옵션과 관련하여 공식을 두 번 입력 하는 것에 대해서는 이야기하지 않습니다 . 원래 질문에 따르면, 나는 Q1(정말로 긴) 공식을 A1포함하고 =Q1; 우리는 변화를 원하는 A1에 =IF(Q1<>"", Q1, "")다시 변경해야해서는 안됩니다. "정말 더 나은 옵션이 없습니까?"글쎄,이 질문은 9 개월 동안 유휴 상태였으며 이것이 전부 게시 된 것입니다. 이 답변이 충분하지 않은 경우 새 질문을 게시하거나이 질문에 현상금을 입력하십시오.
— Scott

그것은 거의 같은 것입니다. 한 셀 내에서 한 수식의 두 인스턴스 문제를 해결 해야하는 번거 로움을 해결하지만 다른 (필요하지 않은) 셀 또는 셀 그룹을 믹스에 추가하여 일을 복잡하게 만듭니다. 불행히도, 나는 이것에 대한 또 다른 "멋지고 깨끗한"대답 이 실제로 없다고 생각합니다.
— Iszi

나는 관련 질문을 잠시 후에 게시 했으며 여기에서 VBA 스크립트와 관련된 유일한 가치있는 답변을 게시 했습니다 .
— Iszi

4

참조 데이터가 숫자 유형 (텍스트가 아닌)이거나 비어 있고 0이있는 경우 수식을 한 번만 입력하는 것이 가장 선호되는 방법입니다. 분명히 약간 간접적 인 방법이지만 다음과 같은 이유로 생각하는 것이 가장 좋습니다.

  • 수식을 넣고 두 번째 셀을 참조하기 위해 추가 셀이 필요하지 않습니다.
  • 수식을 두 번 입력 할 필요가 없습니다
  • 이 방법은 0 값과 빈 셀을 구별합니다.
  • VBA가 필요하지 않습니다
  • 명명 된 범위가 필요하지 않습니다

몰락 : 텍스트 데이터가 필요하면 이것이 작동하지 않습니다. 텍스트 데이터의 경우 선호하는 방법은 위의 다른 답변에서 언급 한대로 숫자 형식을 사용하는 것입니다.

=IFERROR((A1 & "") * 1,"")

이 인스턴스의 A1은 다른 시트, 통합 문서 또는 INDIRECT ()를 포함한 모든 셀로 대체 될 수 있습니다.

작동 방식에 대한 참고 사항 :
IFERROR ()-두 번째 인수는 빈 문자열로 설정되므로 오류가 발생하면 빈 문자열이 표시됩니다. 따라서 소스 셀이 비어 있는지 확인하고 오류가 발생했는지 확인해야합니다.

숫자 방법 : 소스 값을 문자열 화 한 다음 1을 곱합니다. 리터럴 문자열 문자열 * 1 = #VALUE, 숫자가 포함 된 문자열은 숫자로 자동 변환되며 오류가 발생하지 않습니다.


흥미 롭군 왜 필요한 것 같아요 "" & A1 & ""? 언제 A1 & ""또는 에서 다른 결과를 생성 "" & A1합니까?
— G-Man, 'Reinstate Monica'라고

@ G-man : 정확하고 바람직합니다. 감사합니다. 답변을 업데이트했습니다.
— rayzinnz


2

나도 Scott의 솔루션보다 더 나은 솔루션을 찾지 못했습니다.

그러나 여기에서의 접근 방식과 결합하면 거의 견딜 수있을 것입니다.

http://www.ozgrid.com/Excel/named-formulas.htm

이렇게 수식이 있다고 가정 해 봅시다.

= IFERROR( INDEX(INDIRECT("EsZkouska");
  SMALL(IF((INDEX(INDIRECT("EsZkouska");;1‌​;1)="ČSN721180")*(INDEX(INDIRECT("EsZkouska");;9;1)="RC_P_B");
  ROW(INDIRECT"EsZkouska"))-MIN(ROW(INDIRECT("EsZkouska")))+1;"");1);17;1);"")

이 수식은 조건부 선택을 사용하여 데이터 시트에서 셀 값을 읽고 다른 시트에 표시합니다. 데이터 시트의 셀 서식을 제어 할 수 없습니다.

삽입> 이름> 정의로 이동하여 "워크 북의 이름"에서 새 이름 "RC_P_B"를 만듭니다. 그런 다음 "참조"필드에 수식을 복사합니다 ({} 문자없이 배열 수식 임).

그런 다음 전체 수식 텍스트를 반복하지 않고도 Scott의 수식을 사용할 수 있습니다.

 {=IF(RC_P_B<>""; RC_P_B;"---")}

나는 이것이 전체 수식을 복사하는 것보다 낫다고 생각합니다.


2

나는이 문제를 극복하기 위해 공식을 사용하지 않습니다. 셀 값이 0이면 셀을 글꼴 색 흰색으로 조건부 서식으로 지정하면됩니다.


5
이것은 적법한 0 값을 가진 셀에 명백한 문제가 있습니다.
— Dmitry Grigoryev

또한 조건부 서식 수식이 "슈퍼"휘발성이므로 특히 큰 스프레드 시트의 경우 계산 속도가 느려질 수 있습니다. (그들은 화면을 다시 칠할 때마다 평가됩니다.)
— robinCTS 2018 년

1

연결된 셀이 숫자가 아닌 경우 ISTEXT와 함께 IF 문을 사용할 수 있습니다.

=IF(ISTEXT(Sheet1!A2), Sheet1!A2, "")

1
그러나 참조 된 셀 ( Sheet1!A2예에서)에 숫자가 포함되어 있으면 null 문자열이 표시됩니다.
— Scott

예, 참조 된 셀에 어떤 데이터가 있는지 질문에서 명확하지 않았습니다. 나는 그것이 숫자라면 그는 0을 원할 것이라고 생각했습니다.
— Brad Patton

1

나는이 문제에 대한 우아한 해결책을 오랫동안 찾았습니다.

나는 수년간 공식 = if (a2 = "", "", a2)를 사용했지만 조금 번거 롭습니다.

위의 제안 = a2 & ""를 시도했지만 작동하는 것처럼 보이지만 실제로 텍스트 인 숫자를 표시하므로 숫자 서식을 적용 할 수 없으며 합계, 평균, 중앙값 등과 같은 통계 작업이 작동하지 않습니다. 당신이 찾고있는 숫자는 청구서에 맞지 않습니다.

나는 다른 기능들 중 일부를 실험 해 본 결과 지금까지 가장 우아한 해결책이라고 생각했습니다. 위의 예를 계속하십시오.

= CELL ( "내용", A2)

숫자로 형식화 할 수있는 숫자 값을 반환하고 참조 된 셀이 비어 있으면 공백을 반환합니다. 어떤 이유로 든,이 솔루션은 내가 찾은 온라인 제안에 나타나지 않는 것 같습니다.


1
방금 Excel 2013에서 이것을 시도했습니다. A2비어 있으면 이 표시됩니다 0. 포맷 작업을 수행하고 있지 않습니까?
— Scott

1

Excel 2010 솔루션 :

  1. "파일"을여십시오
  2. "옵션"을 누르십시오
  3. "고급"을 클릭하십시오
  4. 이 워크 시트의 "표시 옵션"에서 "BBBB"
  5. "값이 0 인 셀의 값을 0으로 표시하십시오."상자를 선택 취소하십시오.

나는 이것을 나의 대답 (의 세 번째 옵션)에서 말했다  .
— Scott

0
Public Function FuncDisplayStringNoValue(MyCell As Variant) As String

Dim Result As Variant

If IsEmpty(MyCell) Then

   FuncDisplayStringNoValue = "No Value"

Else
   Result = CDec(MyCell)

   Result = Round(Result, 2)

   FuncDisplayStringNoValue = "" & Result

   End If

End Function


-1

Office 2013에서 나를 위해 일한 것은 다음과 같습니다.

=IF(A2=""," ",A2)

첫 번째 인용문에는 공백이없고 두 번째 인용문에는 공백이 있습니다.

도움이 되었기를 바랍니다


두 번째 괄호 세트에 공백이 필요한 이유는 무엇입니까? 잘 =IF(A2="", "", A2)작동 하지 않습니까? 그것은 어떻게 다를까요 =IF(A2<>"", A2, "")? 그리고 어떻게 그 재작년에 걸쳐 주어진 가장 높은 투표 대답, 다른가?
— G-Man, 'Reinstate

-1

나는 비슷한 문제가 있었고, 나는 당신을위한 방법을 찾았다 고 생각합니다. 문제가 해결되었습니다.

열 C가 열 A를 참조하고 참조 셀의 수식 만 작성하려면이를 사용하고 열을 아래로 끕니다.

=A1

그러나 A 열에 비어 있고 C 열의 참조 셀에 비어 있어야하는 소스 셀이있을 수 있습니다.이 셀을 사용하여 아래쪽 열을 드래그 할 수 있습니다.

=T(A1)

셀 서식에 관한 한 참조 (열 C)는 일반적이어야합니다.


아아, 이것은 운전에 의한 질문이었습니다. OP는 수퍼 유저에게 왔으며 (거의 3 년 전)이 질문을 한 후에도 다시는 돌아 오지 않았습니다. 따라서 우리는 그의 상황에 대한 세부 사항을 알지 못할 수도 있습니다. 그러나 Excel 의 주요 기능은 주요 기능은 아닙니다 . 소스 데이터 (예에서 열 A)에 숫자가 포함되어 있으면 응답이 대상 셀을 숫자 데이터로 채우지 못합니다.
— Scott

= T () 수식을 포함하는 셀의 셀 서식이 텍스트가 아닌 일반인지 확인하십시오. 내가 사용한 곳에서는 숫자가 완전히 표시됩니다.
— Will Prater

나는 확인했다. 장군이며 공란입니다. (2013 엑셀)
— 스콧

문제는 당신이 2013 년을 사용하고 있다는 것입니다. 2010 년에 제가 대답 한 답변입니다.
— Will Prater

있었다 답변 (지금 삭제는, 당신의 담당자가 ≥10000 경우에만 당신이 그것을 볼 수 있습니다)이 어느 엑셀 2010 년에 일을하지 않았다고보고했다.
— Scott

-1

해결책:
=IF('Wk1 Data-replace w dt bgn & end'!C2>0, 'Wk1 Data-replace w dt bgn & end'!C2, "")

설명 :
이 문제를 해결하기 위해 두 가지 If명령 세트를 사용했습니다.

명령의 1 부 :
참조 셀에 데이터가 포함 된 경우 셀에 참조 셀의 내용을 표시하도록 지시했습니다 (Excel은이를 0보다 큰 값을 가진 셀로 해석합니다)

명령의 두 번째 부분 :
나는 데이터가 없을 때 어떻게 행동해야하는지 이야기했다. ""는 비워 두는 것을 의미합니다

참고 : Wk1 데이터 교체 w dt bgn & end '! C2는 내 참조 셀입니다.


(1) 참조 된 셀에 0 또는 음수가 포함 된 경우에도 공백으로 표시됩니다. 질문은 참조 된 셀이 비어있는 경우에만 연결 셀을 비우기를 원합니다 . (2) 명백한 변경을하고 이것을으로 변경하면 =IF('Wk1 … bgn & end'!C2<>"", 'Wk1 … bgn & end'!C2, "")이미 약 4 배의 답변과 같습니다.
— G-남자 '는 분석 재개 모니카'말한다

-1

이 모든 솔루션은 나에게 너무 복잡하고 이것이 모든 응용 프로그램에 적합하지는 않지만 소스 필드를 공백으로 채우고 대상 필드에 공백을 얻습니다.


1
셀을 공백으로 채우는 방법은 무엇이며 공백이란 무엇입니까?
— fixer1234

실례합니다. 공백 문자를 말해야합니다. 그렇게하면 셀이 실제로 비어 있지 않습니다. 소스 셀에 공간이 있고 공간이 대상 셀에 복사됩니다.
— John Alonso

-1

나를 위해 일하는 해결책이 있습니다.

IF(cell reference="","",cell reference)

설명:

""빈 셀이나 빈 셀과 같습니다. 이제 나는 단지 돌아 서면됩니다. 셀이 비어 있으면 비워 두십시오. 그렇지 않으면 셀 참조를 사용하십시오.


이것은 기본적으로 superuser.com/a/515941
— Arjan

-2

셀 서식으로 이동하십시오.

그런 다음 사용자 정의 형식을 선택하고 다음을 입력하십시오. 0;-0;;@


2
이것이 무엇을 설명 할 수 있습니까? 감사.
— fixer1234

1
이것은 이 질문에 대한 나의 대답 의 두 번째 옵션과 거의 같은 일입니다 («링크 된 셀의 "숫자"형식을 "사용자 정의": General;–General;.» " ). 즉, (a) 값이 양수인 경우, 정수 절대 값을 표시합니다. (b) 값이 음수 인 경우 앞에 정수의 절대 값을 표시하십시오 -. (c) 값이 0이면 아무것도 표시하지 않습니다 . (d) 값이 숫자가 아닌 경우 텍스트 값을 표시합니다. … (계속)
— Scott

1
(계속)… 그러나이 버전은 정수가 아닌 숫자를 가장 가까운 정수로 반올림하는 단점 (예 : 오류)이 있습니다. ( General필요에 따라 십진수를 포함하여 숫자의 기본 형식을 제공하지만 -부호는 포함하지 않습니다 .) 또한 최종 ;@답변이 텍스트 값을 올바르게 표시하기 때문에 불필요 한 것으로 보입니다 (즉, 기본값 인 것 같습니다) 수정하지 않고.
— Scott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.