programing

INDIRECT를 사용한 동적 차트 범위: 해당 기능이 유효하지 않습니다(범위가 강조 표시되었음에도 불구하고).

oldcodes 2023. 5. 4. 20:30
반응형

INDIRECT를 사용한 동적 차트 범위: 해당 기능이 유효하지 않습니다(범위가 강조 표시되었음에도 불구하고).

다음을 사용하여 동적으로 구축된 범위로 차트를 작성하려고 합니다.INDIRECT엑셀 엑셀을 사용하여 있는 인식합니다.INDIRECT시트에서 해당 범위가 강조 표시됩니다.

여기에 이미지 설명 입력

그러나 차트를 저장할 때 기능이 유효하지 않다는 오류 메시지가 표시됩니다.

여기에 이미지 설명 입력

특정 시작점에서 특정 끝점까지 동적 차트 범위를 생성하는 방법이 무엇인지 아는 사람이 있습니까?

PS: 여기에서 위의 스프레드시트를 다운로드할 수 있습니다.제가 사용하던 공식은 다음과 같습니다.
=INDIRECT("sheet!"&E2&":"&E3)

당신이 그것을 하려고 하는 방법은 가능하지 않습니다.차트 데이터 범위에는 고정 주소가 있어야 합니다.

이를 피할 수 있는 방법이 있는데, 그것은 명명된 범위를 사용하는 것입니다.

의 행 합니다.
그래서, 당신의 예를 들어, 저는 다음과 같이 했습니다.Number of RowsD16E1에서

관리자에서 및 합니다.
xrangeyrange를 사용하여 다음과 같이 정의했습니다.

=(시트 1xrange: = DNV(문서 1!$)$A$2,0,0,시트1!$E$1)
!y): =DBC(시트1$B$2,0,0,시트1!$E$1)

이제 차트에서 - 워크북의 이름을 알아야 합니다(설정한 후 Excel의 변경 추적 기능은 이름 변경에 관계없이 참조가 정확하게 유지되도록 합니다).

그대로 둡니다.Chart data range
를해위를 .Legend Entries (Series)평소와 같이 제목을 입력한 다음 데이터에 대해 정의한 이름을 입력합니다(이름 지정된 범위를 사용하려면 워크북 이름이 필요함).
데이터 포인트

를해위를 .Horizontal (Category) Axis Labels합니다.
데이터 레이블

이제 E1에서 숫자를 변경하면 차트가 변경되는 것을 볼 수 있습니다.
6 in E14 in E1

제 것은 션의 훌륭한 답변과 비슷하지만, 하루를 시작하고 끝낼 수 있습니다.먼저 인덱스/일치 공식을 사용하여 E2 및 E3을 기준으로 시작일과 종료일을 선택하는 두 개의 명명된 범위를 만듭니다.

rng데이

=INDEX(Sheet1!$A:$A,MATCH(Sheet1!$E$2,Sheet1!$A:$A,0)):INDEX(Sheet1!$A:$A,MATCH(Sheet1!$E$3,Sheet1!$A:$A,0))

rng 값

=INDEX(Sheet1!$B:$B,MATCH(Sheet1!$E$2,Sheet1!$A:$A,0)):INDEX(Sheet1!$B:$B,MATCH(Sheet1!$E$3,Sheet1!$A:$A,0))

그런 다음 차트에서 영상 시리즈를 클릭하고 수식을 다음과 같이 수정할 수 있습니다.

=SERIES(Sheet1!$B$1,Sheet1!rngDay,Sheet1!rngValue,1)

여기에 이미지 설명 입력

차트에서 동적 범위를 사용하는 방법에 대한 멋진 찬두 게시물이 있습니다.

비트와 구글에 대한 또 다른 대답입니다.

그래도 시작 및 끝 셀을 참조하려면 일 범위 및 값 범위에 대한 별도의 공식을 추가해야 합니다.공식은 아래에 있으며 스크린샷에는 사용된 공식이 나와 있습니다.

일 범위:

="Sheet1!"&$F$2&":"&ADDRESS(ROW(INDIRECT($F$3)),COLUMN(INDIRECT($F$2)))

값 범위:

="Sheet1!"&ADDRESS(ROW(INDIRECT($F$2)),COLUMN(INDIRECT($F$3)))&":"&$F$3

여기에 이미지 설명 입력

그런 다음 두 개의 범위를 추가합니다.INDIRECT그 셀들의 값들

Ctrl+F3를 누르고 새로 만들기를 클릭한 다음 이름 "chart_days"로 새 범위를 추가합니다.=INDIRECT(Sheet1!$F$4)이름이 "chart_values"인 새 범위는 다음을 참조합니다.=INDIRECT(Sheet1!$F$5)

마지막으로 차트에서 다음과 같은 열을 추가합니다.=nameOfYourWorkbook!chart_values

및 참조할 카테고리 편집=nameOfYourWorkbook!chart_days

사용합니다OFFSET데이터에 대한 모든 범위를 정의할 수 있도록 정의된 이름 공식을 만들어 종료 날짜(또는 모든 데이터 세트의 시작 및 종료 위치)를 지정할 수 있습니다.

간단한 그래프의 경우 범주 레이블 이름을 다음과 같이 정의합니다.

= OFFSET($A$5;  (InicitialMonth-1);  0;  LastMonth - (InitialMonth-1))

및 DataCars는 다음과 같습니다.

= OFFSET($B$5;  (InicitialMonth-1);  0;  LastMonth - (InitialMonth-1))

동일한 절차에 따라 포함할 시리즈 수만큼의 이름을 정의해야 합니다.이 간단한 경우에는 자동차 판매만 포함시켰습니다.

첫 번째 달과 마지막 달은 그래프를 포함할 월(시작부터 끝까지)을 나타내는 데 사용되는 단일 셀에 대해 정의된 범위 이름입니다.

션 체셔와 다른 사람들이 설명한 대로 차트 값에 이름을 사용하려면 스프레드시트의 이름을 포함해야 합니다.

표시된 공식에 따라 =SDD("시트!")&E2&:"&E3) 시트의 이름을 올바르게 지정하지 않았습니다.

시트1! 또는 시트2! 등일 것이라고 생각했을 것입니다.공식은 =시트로 해결됩니다!E2:E3. 주소가 올바르지 않습니다.오류 메시지는 Excel이 입력을 INDirect로 해결할 수 없음을 의미합니다.INDIVENT는 유효한 함수이므로 제공하는 인수가 유효하지 않아야 합니다.

시트 이름을 명시하는 위의 모든 답변은 귀하의 오류를 수정했지만 언급하지 않았습니다.;)

간접 함수가 있는 명명된 수식은 차트에서 작동하지 않습니다. 원하는 동적 소스가 강조 표시되므로 다른 에서 작동하지만 차트에서 사용하면 평가되지 않습니다.마이크로소프트사가 이것을 수정하기를 바랍니다.

꺽은선형 차트의 범위가 명명된 변수이고 변수가 셀을 통해 범위에 대한 참조를 갖는 경우 변수는 쉼표로 구분된 최소 2개의 INDIVERT()를 가져야 합니다.

언급URL : https://stackoverflow.com/questions/18272728/dynamic-chart-range-using-indirect-that-function-is-not-valid-despite-range-hi

반응형