programing

A2부터 무한대까지 지정(NO VBA)

easyjava 2023. 9. 26. 22:40
반응형

A2부터 무한대까지 지정(NO VBA)

VBA가 없으면 A2에서 시작해서 끝나지 않는 범위를 참고하려고 합니다.예를 들어, 만약 내가 2열부터 5열까지 원한다면,

$A$2:$A$5

하지만 끝이 열려있길 원한다면요?

$A$2:??

가능한가요?

A1에 무엇이 포함되어 있고 어떤 공식에 참조를 넣느냐에 따라 A:A를 간단히 사용할 수 있습니다.예를 들어, 열 A의 모든 값을 합하고 싶지만 A1에 숫자가 아닌 열 제목이 포함되어 있다면 =SUM(A:A)을 작성할 수 있으며 A1의 제목은 무시됩니다.

A2: 많은 공식에서 일하는 A는 도움이 되기를 희망합니다.

OP의 질문에서 예제 위치를 사용하여 공식을 기반으로 하는 또 다른 옵션입니다.

=A2:INDEX(A:A,MAX(FILTER(ROW(A:A),IF(ISBLANK(A:A),0,1)=1)))

구성 요소는 다음과 같습니다.

  1. =MAX(FILTER(ROW(A:A),IF(ISBLANK(A:A),0,1)=1)) 행이 입니다.
  2. A2:INDEX(A:A,<expression 1 above>)더큰 이 에 의해 한 범위를 다.다. 1.

이것은 나열된 다른 것들에 대한 대안이며, 잠재적으로 상당한 차이가 있기 때문에 관심이 있을 수 있습니다.

저는 다음과 같은 특징을 주목할 수 있습니다.

  • 그것은 반드시 빠른 것은 아닙니다.
  • 휘발성 공식은 아닌 것 같습니다.계산을 할 때마다 반드시 다시 계산되는 것은 아니기 때문에 이는 중요합니다.하지만 계산 빈도에 대해서는 잘 모르며 변동성 상태에 대해서도 충분히 이해하지 못합니다.불확실성은 INDEX 함수의 사용과 관련이 있습니다(구체적으로 범위의 : 뒤에 있음).그것을 설명하는 몇 가지 자료가 있습니다.INDIRECTED 및 OFFSET 기능은 확실히 휘발성입니다.휘발성 함수의 성능 영향을 설명하는 여러 리소스가 있으며, 그 중 일부는 다른 SO 답변에서 언급됩니다.예를 들어,

https://learn.microsoft.com/en-us/office/client-developer/excel/excel-recalculation https://www.sumproduct.com/thought/volatile-functions-talk-dirty-to-me http://www.decisionmodels.com/calcsecretsi.htm https://chandoo.org/wp/handle-volatile-functions-like-they-are-dynamite/

  • 이를 통해 사용자는 특정 셀(예: 숫자가 아닌 헤더를 의미할 수 있는 A1)의 데이터에 대해 생각할 필요가 없습니다.
  • : 앞에 지정된 셀과 비어 있지 않은 열의 마지막 셀 사이의 범위를 반환합니다.고려할 때 숫자가 아닌 값도 포함해야 한다고 생각합니다.
  • Kresimir L.의 답변과 동일시하고자 하는 범위 측면에서 몇 가지 공통점을 공유합니다.=OFFSET(A2,0,0,(COUNTBLANK(A:A)+COUNTA(A:A)-1),1).

참고 사항:본 답변은 Office 365의 일부로 작성 시 현재 이용 가능한 Excel 버전에 적용됩니다(계속해서 업데이트됨).그러나 이에 대한 답변은 제가 설치한 것이 명백하게 정확한지에 대한 제 자신의 확인에 근거한 것입니다.저는 모든 Office 365의 설치가 정확히 동일한 소프트웨어를 가지고 있는지 확신하지 못합니다. 그리고 저는 일부 기능이 Office 365의 설치마다 다를 수 있다는 것을 알고 있습니다.나는 이 대답이 모든 사람들에게 해당되는지 확신하지 못합니다.테스트 좀 해주세요.이러한 접근 방식으로 성공을 거두신 것에 대한 피드백을 주시면 감사하겠습니다.

A2부터 최대 행(2007년 이전 Excel의 경우 1048576 또는 65536)까지의 범위를 참조하려면 이 휘발성 공식을 사용하면 됩니다.=OFFSET(A2,0,0,(COUNTBLANK(A:A)+COUNTA(A:A)-1),1). 수식을 정의된 범위 이름으로 사용하거나 범위를 인수로 사용하는 다른 수식 내부에 사용합니다(eq SUM의 경우).

(공식이 A1에 있으므로 A:A에 액세스하면 원형 참조가 생성되는 경우) 또 다른 옵션은 다음과 같습니다.

OFFSET(A2, 0, 0, ROWS(A:A)-1)

그러면 ROWS를 사용하여 (실제 행에 액세스하지 않고!) 총 행 수를 세고 (두 번째 행부터 시작하므로) 1을 뺀 후 이 결과를 OFFSET으로 작성된 범위의 높이로 사용합니다.

이 내용은 아래의 코드와 같이 VBA에서 잘 설명되어 있습니다.

Range("A2", Range("A2").End(xlDown))

공식에서 이를 달성하려면 MS-Excel의 버전 번호에 따라 달라집니다.

참조 번호에 따르면 Excel 2007 이후의 시트에는 다음과 같이 사용할 수 있는 1048576 행이 있습니다.

$A$2:$A$1048576

공식의 이 범위는 Excels 버전에 따라 달라지므로 향후 버전에서는 다를 수 있습니다.

마지막으로 VBA를 사용하는 것을 추천합니다.

언급URL : https://stackoverflow.com/questions/46601997/specifying-range-from-a2-till-infinity-no-vba

반응형