programing

Excel이 내 빈 셀이 비어 있지 않다고 알려준다.

telebox 2023. 4. 17. 21:40
반응형

Excel이 내 빈 셀이 비어 있지 않다고 알려준다.

F5를 사용하여 빈 셀을 찾은 후 Ctrl + -를 사용하여 삭제하고 셀을 위로 이동시킴으로써 정보가 있는 셀 사이의 빈 셀을 제거하려고 합니다.그런데 그렇게 하려고 하면 '세포가 발견되지 않았습니다'라고 표시됩니다.

해도 Excel은 수를 .이 사진처럼그러나 선택한 셀에서 Delete를 누르면 카운트가 사라지고 F5, 공백, Ctrl + - 및 Shift 셀이 위로 이동하면 동작합니다.

문제는 엑셀이 공백이 아니라고 생각하는 빈 셀을 어떻게 사용할 수 있느냐는 것입니다.빈 셀 위에 있는 삭제를 누르려고 했는데 데이터가 많아서 시간이 너무 오래 걸린다는 걸 깨달았어요.선택한 데이터 내에서 이러한 '빈' 셀을 선택하는 방법을 찾아야 합니다.

이러한 빈 셀을 선택하고 클리어하여 빈 셀을 만드는 간단한 방법입니다.

  1. 를 누르거나 범위를 미리 선택합니다.
  2. 누르다
  3. 비워둘 항목을 찾고 전체컨텐츠와 일치하도록 선택합니다.
  4. 모두 찾기를 누르다
  5. 를 눌러 발견된 빈 셀을 모두 선택합니다.
  6. 찾기 대화 상자 닫기
  7. 를 누릅니다.

이 방법은 효과가 있었습니다.

  1. CTR-H를 사용하여 검색 및 치환 실행
  2. 'Find What'을 공백으로 두다
  3. '를 '인.
    수 없습니다('를 사용
  4. '모두 바꾸기'를 클릭합니다.
  5. 순서 3의 고유 텍스트를 「검색 내용」에 카피합니다.
  6. '바꾸기'에서 고유한 텍스트를 삭제합니다.
  7. '모두 바꾸기'를 클릭합니다.

발견:일부 빈 셀은 실제로 비어 있지 않습니다!셀에는 공백, 줄 바꿈 및 공백이 있을 수 있음을 보여 줍니다.

예

이러한 세포를 빨리 찾으려면 몇 가지 작업을 수행할 수 있습니다.

  1. =CODE(A1)수식은 셀이 정말 비어 있으면 #VALUE!를 반환합니다.그렇지 않으면 숫자가 반환됩니다.이 번호는, 에 사용되는 ASCII 번호입니다.=CHAR(32).
  2. 셀을 선택하고 공식 막대를 클릭한 후 커서를 사용하여 모두를 선택하는 경우. 줄바꿈 선택 예시

삭제:

셀에 공백만 있는 경우 다음을 사용하여 쉽게 제거할 수 있습니다.

  1. 를 눌러 Find and Replace를 엽니다.
  2. find what에 공백 하나를 입력하고 공백으로 둔 후 옵션에서 전체 셀 내용이 일치하는지 확인합니다.
  3. [모두 바꾸기]를 누릅니다.

새로운 라인이 있는 경우, 이것은 보다 어렵고, VBA가 필요합니다.

  1. 시트 탭 > 코드 표시를 오른쪽 클릭합니다.
  2. 그런 다음 다음 코드를 입력합니다. 마세요.Chr(10) 이것을 : 「」, 「」등)." " & Char(10)'이것'은 다음과 같습니다.

    Sub find_newlines()
        With Me.Cells
            Set c = .Find(Chr(10), LookIn:=xlValues, LookAt:=xlWhole)
            If Not c Is Nothing Then
                firstAddress = c.Address
                Do
                    c.Value = ""
                    Set c = .FindNext(c)
                    If c Is Nothing Then Exit Do
                Loop While c.Address <> firstAddress
            End If
        End With
    End Sub
    
  3. 이제 를 눌러 코드를 실행합니다.


파일 제공 후:성능 향상을 위한 관심 범위를 선택한 후 다음을 실행합니다.

Sub find_newlines()
    With Selection
        Set c = .Find("", LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                c.Value = ""
                Set c = .FindNext(c)
                If c Is Nothing Then Exit Do
            Loop While c.Address <> firstAddress
        End If
    End With
End Sub

모두, 이건 꽤 간단해.저도 같은 노력을 해왔고 이것이 VBA에서 저에게 효과가 있었던 것입니다.

Range("A1:R50").Select    'The range you want to remove blanks
With Selection
    Selection.NumberFormat = "General"
    .Value = .Value
End With

안부 전해 주세요, 아난드랑카

다른 어플리케이션에서 내보낸 산란된 공백 셀이 셀 수에 여전히 표시되는 것과 같은 문제가 있었습니다.

그럭저럭 그것들을 치웠다

  1. 정리할 열/열을 선택한 후 수행
  2. [검색] [텍스트 없음]및 [바꾸기][선택어]
  3. 그런 다음 "찾기(Find)" [선택어]와 "교체(Replace)"를 [텍스트 없음]으로 했습니다.

셀 내의 숨겨진/유령 캐릭터를 모두 제거했습니다.이게 너한테 좋을까?

보관할 형식이나 수식이 없는 경우 파일을 탭으로 구분된 텍스트 파일로 저장하고 닫은 후 Excel로 다시 열 수 있습니다.이건 나한테 효과가 있었어.

이미 말했는지는 모르겠지만 IsBlank() 수식을 실행할 때 셀이 아무것도 표시되지 않는 것과 같은 문제가 있었습니다.

컬럼 전체를 선택하고 [Find & Replace]를 선택하여 아무것도 없는 셀을 찾아 0으로 대체한 후 다시 [Find and Replace]를 실행하여 0으로 셀을 찾아 " "로 대체했습니다.

이것으로 문제가 해결되어 빈 셀(F5, Special, Blanks)을 검색하고 빈 행을 삭제할 수 있게 되었습니다.짜잔.

모든 어플리케이션에서 동작하는 것은 아니지만, 이것으로 문제가 해결되었습니다.

셀에 공백으로 표시되는 공백이 있을 수 있지만 셀에서 F2를 누르면 공백이 나타납니다.셀의 정확한 공간 수를 알고 있는 경우에도 이 방법으로 검색할 수 있습니다.

가장 간단한 솔루션은 다음과 같습니다.

1) 범위를 선택하여 복사합니다(ctrl+c).

2) 새 텍스트 파일을 만들고(어디서나 곧 삭제됩니다), 텍스트 파일을 열고 Excel 정보에 붙여넣습니다(ctrl+v).

3) Excel의 정보가 텍스트 파일에 있으므로 텍스트 파일에서 모두 선택(ctrl+a) 후 복사(ctrl+c)를 수행합니다.

4) 1단계에서 원래 범위의 선두로 이동하여 3단계에서 복사한 오래된 정보를 붙여넣습니다.

DONE! 더 이상 거짓 공백이 없습니다! (이제 임시 텍스트 파일을 삭제할 수 있습니다.)

'Select non blank cells
Selection.SpecialCells(xlCellTypeConstants, 23).Select
' REplace tehse blank look like cells to something uniqu
Selection.Replace What:="", Replacement:="TOBEDELETED", LookAt:=xlWhole, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
'now replace this uique text to nothing and voila all will disappear
Selection.Replace What:="TOBEDELETED", Replacement:="", LookAt:=xlWhole, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False

다른 방법을 찾았다.헤더 행 > '데이터' 탭 > 정렬 및 필터 - '필터'를 선택하여 모든 열에 대해 AutoFilter를 설정합니다(중요하지 않으면 데이터가 잘못 정렬됩니다).첫 번째 데이터 열의 드롭다운을 사용하여 '모두 선택'을 해제하고 '(공백)' 옵션 > [OK]만 선택합니다.행(모두 함께)> 우클릭> [행 삭제]를 하이라이트 합니다.드롭다운 > 'Select all'로 돌아갑니다.프리스토 :)

이것은 숫자에 대응합니다.

범위가 O8:O20인 경우 가까운 빈 범위(예: T8:T20)에 =O8/1을 입력하고 입력합니다.그러면 '빈' 셀에 대한 #VALUE 결과가 나타나고 원래 번호는 그대로 유지됩니다.

그런 다음 T8:20 범위(CTL-*가 아직 선택되지 않은 경우)를 선택한 상태에서 F5를 누르고 Special을 선택합니다.특수 대화 상자에서 오류를 선택하고 확인을 클릭합니다.그러면 실제 숫자는 선택 취소되고 #VALUE 셀만 선택됩니다.삭제하면 실제 빈 셀이 생성됩니다.T8 복사:T20을 O8:O20 위에 다시 붙입니다.

기본적으로 빈 셀은 작동하지 않기 때문에 '빈' 셀을 Go To Special에서 사용할 수 있는 것으로 변환해야 합니다.#VALUE로 변환되는 모든 작업이 작동하며 다른 '오류' 유형도 지원되어야 합니다.

제 방법은 위의 Curt가 제안한 탭 구분 파일로 저장하고 다시 가져오는 방법과 비슷합니다.데이터에는 공식 없이 값만 있다고 가정합니다.이것은 아마도 좋은 가정일 것입니다. 왜냐하면 "나쁜" 빈칸의 문제는 공백과 늘 사이의 혼란에 기인하기 때문입니다. 보통 다른 곳에서 가져온 데이터에는 어떤 공식도 있을 수 없습니다.이 방법은 텍스트 파일로 저장하고 다시 가져오는 것과 매우 유사하지만 파일을 닫았다가 다시 열지 않고도 이 작업을 수행할 수 있습니다.[ Data ]> [ Text - to - Columns ]> [ Delimited ]> [ remove ]로 되어 있습니다(필요한 경우 [Text]를 선택할 수도 있습니다).> [ Finish ]를 선택합니다.이것에 의해, Excel은 데이터를 처음부터 다시 인식해, 빈칸을 공백으로 인식합니다.이것은 서브루틴으로 자동화할 수 있습니다.

Sub F2Enter_new()         
   Dim rInput As Range
   If Selection.Cells.Count > 1 Then Set rInput = Selection
   Set rInput = Application.InputBox(Title:="Select", prompt:="input range", _ 
                                     Default:=rInput.Address, Type:=8)
'   Application.EnableEvents = False: Application.ScreenUpdating = False
   For Each c In rInput.Columns
      c.TextToColumns Destination:=Range(c.Cells(1).Address), DataType:=xlDelimited, _
      TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
      Semicolon:=False, Comma:=False, Space:=False, Other:=False, _
      FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
   Next c
   Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub

이 서브루틴을 "백그라운드에서" 실행하도록 주석 있는 행을 켤 수도 있습니다.이 서브루틴에서는 퍼포먼스가 약간 향상됩니다(다른 서브루틴에서는 큰 도움이 됩니다).이 "공백" 문제를 수정하는 원래 수동 방법은 F2를 누르고 Enter 키를 눌러 Excel이 수식을 인식하도록 하는 것이기 때문에 이름이 F2Enter입니다.

코드 없이 이 문제를 해결한 방법은 다음과 같습니다.

  1. "빈" 셀을 삭제할 열 전체를 선택합니다.
  2. 맨 위에 있는 Conditional Formating 탭을 클릭합니다.
  3. "새 규칙"을 선택합니다.
  4. "다음 항목을 포함하는 셀만 형식 지정"을 누릅니다.
  5. "between"을 "equal to"로 변경합니다.
  6. [ Equal to ](등가) 상자 옆에 있는 상자를 클릭합니다.
  7. 문제가 있는 "빈" 셀 중 하나를 클릭합니다.
  8. [ Format ]버튼을 클릭합니다.
  9. 상자를 채울 색상을 임의로 선택합니다.
  10. OK를 누릅니다.
  11. 이렇게 하면 문제가 있는 모든 "빈" 셀이 선택한 색으로 변경됩니다.색칠된 셀 중 하나를 마우스 오른쪽 버튼으로 누르고 "Sort" 및 "Put selected cell color on the top"으로 이동합니다.
  12. 이렇게 하면 모든 문제 셀이 열의 맨 위에 표시되고 이제 다른 모든 셀은 사용자가 입력한 원래 순서대로 유지됩니다.이제 한 그룹의 모든 문제 셀을 선택하고 맨 위에 있는 셀 삭제 버튼을 클릭하여 제거할 수 있습니다.

Goto -> Special -> Blanks는 Marge된 셀을 좋아하지 않습니다.공백 선택 범위 이상의 셀을 활성화 해제한 후 다시 시도하십시오.

COUNTA 수식이 공백이 아닌 셀을 카운트하는 것과 같은 문제가 있었습니다.공백이 아닌 셀도 모두 카운트하고 있었기 때문에 =CODE()를 시도했지만 공백이나 새로운 행이 없었습니다.

셀을 클릭한 후 셀을 클릭하면 공식에 셀이 카운트됩니다.수천 개의 셀이 있어서 수동으로 할 수 없었습니다.이 VBA 문장은 문자 그대로 모든 셀을 확인하고 공백일 경우 공백으로 만들기 위해 작성했습니다.이 매크로의 무의미함을 무시하고 엑셀이 빈 셀을 빈 셀로 인식하도록 강요함으로써 실제로 효과가 있었다고 믿어 주세요.

'This checks all the cells in a table so will need to be changed if you're using a range
Sub CreateBlanks()

Dim clientTable As ListObject
Dim selectedCell As Range

Set clientTable = Worksheets("Client Table").ListObjects("ClientTable")

For Each selectedCell In clientTable.DataBodyRange.Cells
    If selectedCell = "" Then
        selectedCell = ""
    End If
Next selectedCell
End Sub

데이터 세트를 CSV 파일에 저장하고 해당 파일을 열고 데이터 세트를 복사하여 Excel 파일에 붙여넣습니다. 그러면 crtl + g가 파일에서 작동하게 됩니다. 즉, Excel이 공백임을 인식합니다.

언급URL : https://stackoverflow.com/questions/15984580/excel-telling-me-my-blank-cells-arent-blank

반응형