Google 스프레드시트 열의 범위 내에서 마지막으로 채워진 셀 값 가져오기

Google 스프레드시트 열의 범위 내에서 마지막으로 채워진 셀 값 가져오기

열의 셀 범위가 주어지면 마지막으로 채워진 항목을 찾아 해당 값을 반환합니다.

나는 맨 위부터 시작하여 마을로 이동하면서 새로운 행에 대부분의 날 값을 채우는 열이 있는 원장을 가지고 있습니다. 그리워지는 날에는 감방이 비어있습니다. 마지막으로 입력한 값을 사용하고 싶지만 검색 방법을 모르겠습니다. 논리적으로 범위에서 비어 있지 않은 첫 번째 셀을 찾기 위해 아래에서 위로 검색하고 싶습니다. 범위는 매일 증가하지만 함수는 항상 맨 아래 항목을 반환해야 합니다. 어떤 날에는 해당 셀을 비워두고 항목이 작성되지 않으므로 첫 번째 빈 셀에서 멈추고 1로 돌아갈 수 없습니다. 전체 범위에서 마지막으로 채워진 셀을 찾아야 합니다.

find() 또는 search()가 첫 번째 "Non-WhiteSpaceOrEmptyString"을 찾을 수 있는지 모르거나 이를 사용하여 아래에서 위로 봅니다.

답변1

직접 솔루션을 만들었습니다. Google 스프레드시트에서는 맞춤 기능을 만들 수 있습니다. 도구 메뉴에서 스크립트 편집기를 클릭합니다. 편집기에서 다음 함수를 추가합니다.

function LASTPOPULATED(range2d) {
  if (!Array.isArray(range2d)) { return null; }
  for (i=range2d.length-1; i>-1; i--) {
    e = range2d[i];
    if (!Array.isArray(e) || e.length != 1) { return null; }
    v = e[0];
    if (typeof(v) === 'number' || (typeof(v) === 'string' && v.length > 0)) { return v; }
  }
  return null;
}

사용하려면 LASTMPOPULATED(range)를 호출하세요. 여기서 range는 cell1:cell2 형식입니다. Google 스프레드시트 범위는 항상 2차원이므로 B1:B100과 같은 열 범위를 나타내는지 확인하세요. 그렇지 않으면 채워진 요소를 찾기 전에 2개 이상의 열이 감지되면 함수가 null을 반환합니다.

관련 정보