Google 스프레드 시트에서 빈 셀을 0으로 바꾸려면 어떻게해야하나요?


13

다른 사람이 데이터를 입력 한 스프레드 시트가 있습니다. 그들은 0 값을 기록하는 대신 빈 셀을 남겼습니다. 빈 셀을 0으로 바꾸려면 어떻게해야합니까?

^ $를 사용하여 정규 표현식을 찾아 바꾸려고 시도했지만 작동하지 않았습니다.



주어진 답변을 검토 할 시간을 찾았습니까?
Jacob Jan Tuinstra

답변:


12

스프레드 시트의 특정 부분에서만이 작업을 수행하고 싶다고 가정하고 반복해야 할 일이 아니라 해결 해야하는 일회성 문제라고 생각합니다.

이를 위해 가장 간단한 방법은 다른 영역을 동일한 모양과 크기 (아마도 다른 워크 시트에서) 를 찾고 현재 사용하지 않는 다른 영역을 찾는 것입니다 .

해당 영역의 각 셀에서 사용하는 셀에 따라 포럼을 다음과 같이 설정하십시오.

= if (isblank (A3), "0", A3)

두 번째 영역에서 데이터를 선택하여 복사 한 후 편집> 붙여 넣기 특수> 값 붙여 넣기 만 사용하여 원본에 다시 붙여 넣기

일부 형식 (예 : 날짜 형식)을 다시 적용해야하지만 값이 있습니다.

참고로, 나는이 접근법의 효과적인 예를 여기에 넣었습니다 : https://docs.google.com/spreadsheets/d/1T6owfGtpKt3NLl5hq1AZpeWA1ILWUwBQ44bdlAmekF0/edit?usp=sharing


2
이것은 훌륭하게 작동합니다. 결과에 SMALL 명령을 사용하는 데 약간의 문제가있었습니다. 대신 = if (isblank (A3), 0, A3)를 사용하여 문제를 해결할 수있었습니다.
Joe Manlove

9

찾기 및 바꾸기 에서 정규식을 사용 하십시오 .

^\s*$

Google 스프레드 시트가 공백으로 0으로 바 replace


내 상황에서는 이것이 가장 좋은 대답이었습니다. 값을 가져야하지만 비어있는 두 개의 셀 범위가 있습니다. 데이터를 사용할 수있는 경우 일부 셀에 값을 채웠습니다. 그런 다음 다른 모든 빈 셀을 0으로 채워서 이미 해당 셀을 고려했음을 나타냅니다.
LS

도움이되었습니다.
lathomas64

8

다음 스크립트는 0범위 내의 모든 빈 셀에를 추가합니다 .

암호

function onOpen() {
  SpreadsheetApp.getUi().createMenu("Zeros")
    .addItem("Sheet", "zeroSheet")
    .addItem("Data range", "zeroDatarange")
    .addItem("Selection", "zeroSelection")
    .addItem("Manual Override", "zeroManual")
  .addToUi();      
}   

function zeroSheet() {
  var sheet = SpreadsheetApp.getActiveSheet();
  zero(sheet, 'sheet');
}

function zeroDatarange() {
  var range = SpreadsheetApp.getActiveSheet().getDataRange();
  zero(range, 'datarange');
}

function zeroSelection() {
  var range = SpreadsheetApp.getActiveSheet().getActiveRange();
  zero(range, 'activerange');
}

function zeroManual() {
  var spreadsheet = SpreadsheetApp.getActive();
  zero(spreadsheet, 'manual');
}

function zero(source, type) {
  var data, range;
  switch(type) {
    case 'sheet':
      var lastRow = source.getMaxRows();
      var lastColumn = source.getMaxColumns();    
      range = source.getRange(1, 1, lastRow, lastColumn);
      break;
    case 'manual':
      range = source.getSheetByName('Sheetname').getRange(2, 4, 3, 6);    
      break;
    case 'datarange':
    case 'activerange':
      range = source;
      break;
  }
  data = range.getValues();
  range.setValues( data.map( function(row) {
    return row.map( function(cell) {
      return !cell ? 0 : cell;
    });
  }));
}

노트

파일이 열리면 4 개의 하위 항목이있는 Zeros라는 메뉴 항목이 생성됩니다. 열 때 수동 기능을 실행하려면 다음과 같이 간단히 추가하십시오. 여기에 이미지 설명을 입력하십시오

파일을 0으로 바꾸십시오 .
1. 파일 사본을 작성하거나 도구> 스크립트 편집기 아래에 코드를 붙여 넣으십시오 . 2. 시계 버그 버튼을 눌러 스크립트를 인증하십시오. 여기에 이미지 설명을 입력하십시오 3. 문서를 다시 열면 이제 새 메뉴가 나타납니다! 여기에 이미지 설명을 입력하십시오


매력처럼 일했다. 최소한 최신 버전에서는 매크로를 매크로에 추가하여 실행해야합니다.
Nic Szerman

2

제한된 수의 열에 대해 공백을 선택한 다음 삽입하고 복사하여 필터링 할 수 있습니다 0.


2

Google 스프레드 시트에서 비슷한 상황에서 저에게 도움이 된 한 가지 방법은 빈 열을 0으로 합산하고 결과를 새 열에 저장하는 것입니다.

열에 A바꾸려는 빈 셀이 있고에 데이터가있는 B경우 다음 빈 열 C을 사용하여 업데이트 된 값을 다음과 같이 저장하십시오.

C1=SUM(A1, 0) 전체 열에 대해서도 마찬가지입니다 C.

필자의 경우 값을 곱해야하고 빈 셀이 1s 대신 0s 처럼 작동 PRODUCT()했으므로 다음 과 같이했습니다 .

=PRODUCT(SUM(A,0), multiplier)

빈 또는 숫자가 아닌 셀의 예상 결과를 제공했습니다 A.


1

나는 그 안에 공백이 무작위로 설정된 거대한 데이터를 가지고 있었으므로 사용 if(isblank())은 슈퍼 노동 집약적 이었으므로 나에게 나쁜 생각이었습니다.

대신 시트를 CSV로 다운로드하여 TextWrangler에서 열었습니다 (찾기 및 바꾸기가있는 모든 텍스트 편집기가 작동합니다). 그런 다음 ','를 찾아 ', 0,'으로 바꿨습니다. 나는 그것을 두 번해야했다. 그런 다음 다시 가져올 때 if(isblank())데이터 세트의 첫 번째 및 마지막 열에 만 사용했습니다 . 다른 모든 것은 제로화되었습니다. 약 5-10 분이 걸렸습니다.


1

"찾기 및 바꾸기" ( Ctrl+ F→ 추가 옵션)를 사용할 수 있습니다 .

  • 찾기: ^$
  • 다음으로 교체 : 0
  • 검색 : 범위
  • 선택 : 정규식을 사용하여 검색

1
-1. 질문은 분명히 이것이 asker에게 효과가 없다는 것을 나타냅니다.
msh210
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.