programing

범위에서 비어 있지 않은 첫 번째 셀 찾기

iphone6s 2023. 7. 16. 12:51
반응형

범위에서 비어 있지 않은 첫 번째 셀 찾기

한 줄에 하나 이상의 셀이 비어 있을 수 있는 데이터 목록을 작성하고 있습니다.

목록이 셀이라고 가정합니다.A1,A2,A3,A4다음을 수행할 함수를 만들려고 합니다.

IF A1 has a value I want the cell to return A1.
  IF A1 is empty then I want it to return A2.
   IF A1 and A2 are both empty I want it to return A3.
    If A1, A2 and A3 are all empty I want it to return A4.    

구글의 첫 번째 결과: http://chandoo.org/wp/2014/01/15/find-first-non-blank-item-in-a-list-excel-formulas/

이 공식은 범위의 첫 번째 TEXT 셀을 반환합니다.B1:B100:

=VLOOKUP("*", B1:B100, 1,FALSE)

엑셀의 와일드카드입니다.VLOOKUP에서 *를 찾도록 요청하면 해당 항목이 포함된 첫 번째 셀을 찾습니다.

참고: 이 방법은 텍스트가 포함된 첫 번째 셀을 찾습니다.따라서 첫 번째 비어 있지 않은 셀이 숫자(또는 날짜, % 또는 부울 값)인 경우 공식은 텍스트를 포함하는 다음 셀을 표시합니다.

비어 있지 않은 URL을 찾아야 하는 경우 다음과 같은 해결 방법을 제공합니다.

텍스트든 숫자든 빈 값이 아닌 첫 번째 값을 찾으려면 아래 배열 공식을 사용할 수 있습니다.

=INDEX(B1:B100, MATCH(FALSE, ISBLANK(B1:B100), 0))

이 수식을 입력한 후 ++ShiftEnter를 눌러야 합니다.

이 공식은 어떻게 작동합니까?

  • ISBLANK(B1:B100)부분:다음 목록을 제공합니다.TRUE/FALSE의 98개 셀에 따른 값B1:B100비어 있는지 여부.다음과 같이 표시됩니다.{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE; ...}

  • MATCH(FALSE, ISBLANK(…), 0)부분:일단 우리가 그것을 갖게 되면.TRUE/FALSE가치관, 우리는 단지 첫 번째 가치관을 찾으면 됩니다.FALSE값(즉, 첫 번째 비공백 셀)입니다.그게 바로 이것입니다.MATCH기능은 합니다.목록에서 FALSE 값과 정확히 일치하는 항목을 찾습니다.

  • INDEX(B1:B100, MATCH(…))부분:어떤 세포가 첫 번째 비공백 세포인지 알게 되면, 그 값이 필요합니다.그것이 바로INDEX한다.

질문에 대한 설명에 표시된 대로 빈 셀이 있는 500개의 행이 있습니다.빈 셀을 빈 셀이 아닌 마지막 셀의 값으로 채우려고 합니다.

다음과 같이 작동하는 VBA 코드를 작성합니다. 백업할 셀 범위를 선택하고 이 VBA를 실행합니다.

Sub fillBlanks()
  For Each c In Selection.Cells
    If c.Value <> "" Then
      lastVal = c.Value
    Else
      c.Value = lastVal
    End If
  Next c
End Sub

기본적으로 셀이 비어 있으면 마지막 비어 있지 않은 셀의 값을 사용합니다(위에 빈 셀이 없으면 빈 셀이 유지됨).또는 셀이 비어 있지 않은 경우 이 셀을 비어 있지 않은 마지막 셀로 저장합니다.선택한 범위의 모든 셀에 대해 반복합니다.

이 vba 코드 사용에 대한 단계별 지침 - 이 샘플 워크시트:

sample worksheet

범위가 선택되었는지 확인하고 +F11를 누릅니다.

그러면 Visual Basic Editor가 열립니다.

Visual Basic Editor

를 누릅니다. 그러면 활성 시트의 코드가 표시됩니다.위에서 VB 코드를 붙여넣습니다.

add Code

를 누릅니다(또는 메뉴를 사용하여 코드를 실행합니다).

run Code

최종 결과는 다음과 같습니다.

result

열 A 선택:

HOME > 편집 > 찾기 & 선택 > 특수로 이동...> 공백, , , , +.Enter

당신은 그저 입력할 수 있습니다.rank.eq그 옆에 있는 열에 있는 공식, 그리고 다음을 수행합니다.vlookup모든 데이터를 맨 위로 이동할 수 있습니다.이렇게 하면 모든 데이터가 맨 위에 표시됩니다.

예를 들어, 아래 이미지에서 백분율을 사용하여 순위를 매기고 있습니다. 데이터가 있는 셀을 프레젠테이션을 위해 맨 위로 가져오고 싶습니다. 위치 이외의 모든 열을 숨깁니다.vlookups아레.

Screenshot of spreadsheet

이것은 나에게 효과가 있었습니다.

= NORSOK(2,1/(A1:A13<>"),A1:A13)

원본 크레딧: 여기

enter image description here

언급URL : https://stackoverflow.com/questions/29967410/find-first-non-blank-cell-in-a-range

반응형