
A1:A27이라는 범위가 있고 해당 범위에 비어 있는 값과 비어 있지 않은 값이 혼합되어 있다고 가정해 보겠습니다. 두 가지 함수가 필요합니다. 하나는 범위에서 비어 있지 않은 첫 번째 값을 가져오고 다른 하나는 마지막이 아닌 값을 가져오는 함수입니다. 이렇게 범위에 빈 값이 있습니다.
=First(A1:A27)
=Last(A1:A27)
범위는 1차원 배열입니다.
내 시트에서 이에 대한 많은 인스턴스를 수행해야 하므로 비효율성으로 인해 앱 스크립트를 사용할 수 없게 됩니다.
이 함수를 어떻게 작성하시겠습니까?
답변1
이를 사용하여 범위에서 비어 있지 않은 첫 번째 값을 찾을 수 있습니다.
=INDEX(A1:A27, MATCH(TRUE, A1:A27<>"", 0))
그리고 이것을 사용하여 범위에서 비어 있지 않은 마지막 값을 찾을 수 있습니다.
=INDEX(A1:A27, MAX(IF(A1:A27<>"", ROW(A1:A27))))
답변2
TOCOL 기능
값만 찾는 경우 TOCOL은 공백을 제거하고 INDEX를 사용하여 첫 번째 값을 가져올 수 있으며 마지막 값에 대해서도 동일한 작업을 수행하지만 행을 내림차순으로 정렬합니다.
# 첫 번째 값 얻기 =INDEX(목차(A1:A27,1),1) # 마지막 값을 가져옵니다 =INDEX(TOCOL(SORT(A1:A27,ROW(A1:A27),0),1),1)
XMATCH 기능
그만큼XMATCH 기능처음에서 마지막까지, 마지막에서 처음까지 검색을 지원하므로 이 애플리케이션에서는 MATCH보다 이점이 있습니다.
# 구문 =XMATCH(검색_키, 조회_범위, [일치_모드], [검색_모드])
XMATCH 예
첫 번째 값 구문은 다음을 제외하면 MATCH와 유사합니다.exact_match=0
기본값이므로 생략 가능합니다.
# 첫 번째 값 =INDEX(A1:A27, XMATCH(TRUE, A1:A27<>"")) =ROW(INDEX(A1:A27, XMATCH(TRUE, A1:A27<>""))) //행 번호를 반환합니다.
XMATCH는 다음을 지정하여 마지막에서 처음으로 검색을 지원합니다.search_mode=-1
# 마지막 값 =INDEX(A1:A27, XMATCH(TRUE, A1:A27<>"",-1)) =ROW(INDEX(A1:A27, XMATCH(TRUE, A1:A27<>"",-1))) //행 번호를 반환합니다.