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.