IT

Google 스프레드 시트의 열에서 비어 있지 않은 셀 가져 오기 오기

lottoking 2020. 7. 30. 09:34
반응형

Google 스프레드 시트의 열에서 비어 있지 않은 셀 가져 오기 오기


나는 다음 기능을 사용한다

=DAYS360(A2, A35)

내 열에서 두 날짜의 차이를 계산합니다. 그러나 열이 계속 확장되고 현재 스프레드 시트를 업데이트 할 때 'A35'를 수동으로 변경해야합니다.

이 열에서 비어 있지 않은 마지막 셀을 다음 위 함수에서 해당하는 변수를 동적으로 설정하는 방법이 있습니까 (Google 스프레드 시트)?


더 웅변적인 방법이있을 수 있습니다.

열에서 마지막으로 추가 셀을 찾는 기능은 다음과 같습니다.

=INDEX( FILTER( A:A ; NOT( ISBLANK( A:A ) ) ) ; ROWS( FILTER( A:A ; NOT( ISBLANK( A:A ) ) ) ) )

따라서 현재 기능과 결합하면 다음과 가변됩니다.

=DAYS360(A2,INDEX( FILTER( A:A ; NOT( ISBLANK( A:A ) ) ) ; ROWS( FILTER( A:A ; NOT( ISBLANK( A:A ) ) ) ) ))

비어 있지 않은 마지막 셀을 설치면 다음 같이 사용 하고 기능 할 수 있습니다 .INDEXMATCH

=DAYS360(A2; INDEX(A:A; MATCH(99^99;A:A; 1)))

나는 이것이 조금 더 엄격하고 생각합니다.


A2 : A에 날짜가 연속적으로 포함되어 있으면 INDEX (A2 : A, COUNT (A2 : A))가 마지막 날짜를 반환합니다. 마지막 공식은

=DAYS360(A2,INDEX(A2:A,COUNT(A2:A)))

내가 가장 좋아하는 것은 :

=INDEX(A2:A,COUNTA(A2:A),1)

따라서 OP의 필요에 따라 :

=DAYS360(A2,INDEX(A2:A,COUNTA(A2:A),1))

필자의 경우처럼 연속적으로 추가 된 날짜만으로 열이 확장 된 경우 -MAX 함수 만 사용하여 마지막 날짜를 얻었습니다.

최종 공식은 다음과 가변합니다.

=DAYS360(A2; MAX(A2:A)) 

질문에 이미 답변 웅변적인 방법이 있습니다.

Use just the column name to denote last non-empty row of that column.

예를 들면 다음과 같습니다.

가 데이터 A1:A100있고 더 많은 데이터 열에를 추가하고 싶 A1:A105거나 A1:A1234나중에 할 수 있다고 말하면 이 범위를 사용할 수 있습니다.

A1:A

마지막 값을 포함 할 것이 공식은 어떻습니까?

=index(G:G;max((G:G<>"")*row(G:G)))

그리고 이것은 원래 작업의 최종 공식입니다.

=DAYS360(G10;index(G:G;max((G:G<>"")*row(G:G))))

초기 날짜가 G10이라고 가정하십시오.


다른 하나는 다음과 가변적입니다.

=indirect("A"&max(arrayformula(if(A:A<>"",row(A:A),""))))

최종 방정식은 다음과 가변합니다.

=DAYS360(A2,indirect("A"&max(arrayformula(if(A:A<>"",row(A:A),"")))))

여기에있는 다른 방정식은 효과가있는 행 번호를 쉽게 얻을 수 있기 때문에 좋아합니다. 더 자주해야합니다. 행 번호는 다음과 가변적입니다.

=max(arrayformula(if(A:A<>"",row(A:A),"")))

원래 시트 문제를 해결하기 위해이 방법을 사용하고했지만 마지막 항목의 행 번호를 제공하는 것을 유용하게 사용할 수 있습니다.

또한 모든 유형의 데이터에 대해 순서에 관계없이 작동한다는 것과 동일한 내용이있는 행 사이에 빈 행이있을 수 있습니다 ""로 평가되는 수식이있는 셀은 계산하지 않습니다. 반복되는 값을 처리 할 수도 있습니다. 대체로 여기에 max ((G : G <> "") * row (G : G))를 사용하는 방정식과 매우 유사하지만, 그 나중에 나중에 번호를 조금 더 쉽게 뽑을 수 있습니다. .

또는 시트에 펼쳐 놓기라고 할 수 있습니다. 그 scirpt는 다음과 가변적입니다.

function lastRow(sheet,column) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  if (column == null) {
    if (sheet != null) {
       var sheet = ss.getSheetByName(sheet);
    } else {
      var sheet = ss.getActiveSheet();
    }
    return sheet.getLastRow();
  } else {
    var sheet = ss.getSheetByName(sheet);
    var lastRow = sheet.getLastRow();
    var array = sheet.getRange(column + 1 + ':' + column + lastRow).getValues();
    for (i=0;i<array.length;i++) {
      if (array[i] != '') {       
        var final = i + 1;
      }
    }
    if (final != null) {
      return final;
    } else {
      return 0;
    }
  }
}

현재 편집중인 시트와 동일한 행에 마지막 행을 원하면 다음을 입력합니다.

=LASTROW()

또는 다른 시트의 특정 열의 마지막 행을 원하는 경우 다음을 수행 할 수 있습니다.

=LASTROW("Sheet1","A")

그리고 일반적으로 특정 시트의 마지막 행 :

=LASTROW("Sheet1")

그런 다음 실제 데이터를 얻으려면 간접적으로 사용할 수 있습니다.

=INDIRECT("A"&LASTROW())

또는 마지막 두 리턴 라인에서 위 펼쳐보기를 수정하고 (실제 열에서 실제 값을 위해 시트와 열을 모두 배치해야 할 마지막 두 개) 변수를 다음으로 대체 할 수 있습니다.

return sheet.getRange(column + final).getValue();

return sheet.getRange(column + lastRow).getValue();

이 스크립트의 한 가지 이점은 ""로 평가되는 방정식을 포함할지 여부를 선택할 수 있다는 것입니다. 인수가 추가되지 않은 경우 ""로 평가되는 방정식이 계산되지만 시트와 열을 지정하면 이제 계산됩니다. 또한 스크립트의 변형을 기꺼이 사용하려는 경우 많은 유연성이 있습니다.

과잉 일 가능성이 있지만 모든 것이 가능합니다.


나는 다른 길을 갔다. 행 / 열에 하나씩 추가 할 것이라는 것을 알고 있으므로 먼저 데이터가있는 필드를 세어 마지막 행을 찾습니다. 나는 이것을 칼럼으로 보여줄 것이다.

=COUNT(A5:A34)

따라서 21을 반환했다고 가정 해 보겠습니다. A5는 4 행 아래이므로 4 행 아래에서 21 번째 위치를 가져와야합니다. inderect를 사용하여 다음과 같이 할 수 있습니다.

=INDIRECT("A"&COUNT(A5:A34)+4)

데이터가있는 행의 양을 찾고 인덱스 수정 자로 사용중인 숫자를 반환합니다.


A 열의 최근 날짜와 A2 셀의 날짜 간의 차이를 계산합니다.

=MAX(A2:A)-A2

행 :

=ARRAYFORMULA(INDIRECT("A"&MAX(IF(A:A<>"", ROW(A:A), ))))

열의 경우 :

=ARRAYFORMULA(INDIRECT(ADDRESS(1, MAX(IF(1:1<>"", COLUMN(1:1), )), 4)))

아마추어가하는 방식은 "= CONCATENATE ("A ", COUNTUNIQUE (A1 : A9999))"입니다. 여기서 A1은 열의 첫 번째 셀이고 A9999는 항목이있을 것으로 예상했던 것보다 해당 열 아래에 있습니다. 이 결과 A #은 필요에 따라 INDIRECT 함수와 함께 사용할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/8116043/get-the-last-non-empty-cell-in-a-column-in-google-sheets

반응형