열 내용과 열 헤더(비특정 위치)를 일치시키고 모든 행 헤더를 가져옵니다.

열 내용과 열 헤더(비특정 위치)를 일치시키고 모든 행 헤더를 가져옵니다.

Windows 8.1에서 Excel 2016을 사용하고 있습니다.

한 기준은 열 머리글이고 다른 기준은 해당 열 내에서 여러 번 발생할 수 있는 셀 내용인 두 가지 기준을 일치시키고 여러 행 머리글을 결과로 반환할 수 있기를 원합니다.

내 예에서는 셀 B6 및 B7에 과일 이름(열 헤더)과 품질('좋음' 또는 '나쁨')을 입력하고 해당 과일과 일치하는 특성(행 헤더)을 수신할 수 있기를 원합니다. 그리고 품질. 예를 들어 '사과'와 '좋음'을 주면 '외관'과 '맛'('가격'이 아님)을 반환하고 싶습니다.

저는 이전에 Index Match를 사용해 본 적이 있으며 배열 수식을 사용하여 셀 범위로 작업한다는 이야기를 들었습니다. 하지만 이 모든 것을 결합하는 방법을 알아낼 수는 없습니다. 특히 제가 찾은 모든 튜토리얼은 행 머리글과 열 머리글을 일치시키고 결과 셀을 찾는 방법에 관한 것이었기 때문입니다. 또한 항상 'Apples'와 일치하는 것을 원하지 않을 수 있으므로 특정 열 헤더에 대한 참조를 '하드 코딩'하고 싶지 않습니다.

나는 피벗 테이블을 사용해 보았지만 그다지 우아하지 않았습니다(내 실제 데이터에는 2개가 아닌 5개의 '품질' 항목이 있습니다).

예시 테이블의 스크린샷

   A           B         C        D         E        F
1            | Apples | Bananas | Lemons | Mangos | Oranges
-----------------------------------------------------------
2 Appearance | good   | good    | bad    | bad    | good
 ----------------------------------------------------------
3 Flavour    | good   | good    | bad    | good   | good
 ----------------------------------------------------------
4 Price      | bad    | good    | good   | bad    | good
----------------------------------------------------------
5            |        |         |        |        | 
----------------------------------------------------------  
6 Fruit:     | apples |         |        |        |
----------------------------------------------------------
7 Quality:   | good   |         |        |        |             
----------------------------------------------------------
8            |        |         |        |        |     
----------------------------------------------------------  
9 Results:   |        |         |        |        |         
----------------------------------------------------------

답변1

이것은 @Scott Craner가 제안한 변형이지만 귀하에게 도움이 될 수 있습니다.

열 내용을 행 머리글로

추가적인 품질을 위해 자리 표시자를 추가했습니다. 이 공식을 B11에 입력한 다음 가지고 있는 품질의 수와 동일하도록 행 수를 아래로 드래그합니다.

=IF(INDEX($B2:$F2,,MATCH($B$8,$B$1:$F$1))=$B$9,$A2,"")

Results1의 모양이 마음에 들지 않고 값이 하나의 셀에 있도록 하려면 이 수식을 B18에 입력하고 11~15행을 숨깁니다.

=IF(B11="","",B11&"//") & IF(B12="","",B12&"//") & IF(B13="","",B13&"//") & IF(B14="","",B14&"//") & IF(B15="","",B15&"//")

"//"에 대한 구분 기호로 원하는 것을 대체하십시오.

답변2

이는 셀을 반복하고 INDEX와 일치하는 모든 행 번호를 반환한 다음 값을 반환합니다.

이것을 B9에 넣으세요:

=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($A$2:$A$4)/(($B$2:$F$4=$B$7)*($B$1:$F$1=$B$6)),COLUMN(A:A))),"")

그리고 모든 특성을 설명할 만큼 충분히 복사하세요.

여기에 이미지 설명을 입력하세요

관련 정보