Excel 2010: 정의된 열 이름과 행 번호를 사용하여 특정 필드를 어떻게 참조합니까?

Excel 2010: 정의된 열 이름과 행 번호를 사용하여 특정 필드를 어떻게 참조합니까?

저는 Excel 2010을 사용하고 있으며 매장의 제품에 대한 세부 정보(카테고리, 가격, 액세서리 포함)를 정의하는 통합 문서를 만들고 있습니다. 또한 제품의 특정 세부정보가 비어 있는 경우 사용할 기본 카테고리 세부정보를 정의하고 싶습니다.

Products, CategoryDefaults, Calculated라는 세 개의 시트를 설정했습니다. 열은 제품/카테고리 세부정보이며 각 항목/카테고리는 자체 행을 갖습니다. 또한 가독성을 위해 명명된 열을 최대한 많이 사용하고 싶습니다. P로 시작하는 열 이름은 제품 세부 정보이고 D로 시작하는 열 이름은 CategoryDefault 시트에 있습니다.

계산됨의 필드는 다음과 유사합니다.

=IF(Products!G2="",
INDEX(DPRICE, MATCH(Products!A2, DCAT, 0)),
Products!G2)

여기서 DPRICE는 기본 가격 책정에 대한 명명된 열이고 DCAT는 CategoryDefaults 시트의 범주 이름입니다.

공식의 의미는 다음과 같습니다. 제품 번호 2 열 G가 비어 있는 경우 CategoryDefault 시트에서 A열 제품 2의 값을 찾아 DefaultPrice를 반환합니다. 그렇지 않으면 정의된 가격을 반환합니다.

지금까지는 모두 잘 작동합니다. 한 단계 더 나아가고 싶습니다. 이전 예에서 Products!G2는 2행에 있는 제품의 가격 열을 나타냅니다. 열 문자 참조 'G'를 명명된 값으로 대체하여 수식을 더 읽기 쉽게 만들고 싶습니다. 열 참조, 즉 'PPRICE'입니다. Products!A2에 대한 참조에 대해서도 'PCAT'(제품이 속한 카테고리) 열을 호출하여 동일한 작업을 수행합니다.

최종 공식은 다음과 같습니다.

=IF(Products!PPRICE:2="",
INDEX(DPRICE, MATCH(Products!PCAT:2, DCAT, 0)),
Products!PPRICE:2)

나는 이것을 작동시킬 수 없습니다. 결과가 없고 콜론과 $의 변형 없이 "이름 적용..."을 시도했지만 소용이 없었습니다. 전에 이런 일을 해본 사람이 있나요?

답변1

INDEX(PPRICE, 2)PPRICE 열의 두 번째 행 값을 반환한다는 것을 발견했습니다 . 전체 코드 조각은 다음과 같습니다.

=IF(INDEX(PPRICE, 2)="",
INDEX(DPRICE, MATCH(Products!A2, DCAT, 0)),
INDEX(PPRICE, 2))

그러나 상대 값이 아닌 절대 값이 되며 이 공식을 다른 행에 복사하여 붙여넣어도 여전히 행 2를 가리킵니다. 따라서 대규모 데이터 세트에는 적합하지 않습니다.

관련 정보