=Func(A1, "Alex, "Betty", "Charlie")
일치하는 항목의 인덱스를 반환하는 함수가 필요합니다 . 이 기능을 B1:B13에 넣으면 다음과 같이 표시됩니다.
"Charlie" 3
"Alex" 1
"Alex" 1
"Alex" 1
"Charlie" 3
"Charlie" 3
"Betty" 2
"Charlie" 3
"Charlie" 3
"Betty" 2
"Betty" 2
"Betty" 2
"Alex" 1
처음에는 CHOOSE가 이 작업을 수행할 것이라고 생각했지만 이는 내가 필요한 것과 반대인 정수를 기반으로 참조를 반환합니다.
제가 놓친 이 작업을 수행하는 기존 함수가 있습니까? 중첩된 ifs나 vlookup과 같은 것에서 더 복잡한 함수를 만들어야 합니까, 아니면 VBA에서 함수를 작성해야 합니까?
시간을 내어 도움을 주셔서 감사합니다.
답변1
비교할 값을 스프레드시트의 다른 범위에 넣을 수 있는 경우 LOOKUP 함수를 사용할 수 있습니다. LOOKUP은 두 번째 인수에 지정된 범위에서 첫 번째 인수를 찾고 세 번째 인수의 범위에서 해당 값을 반환합니다. 원하는 값을 지정하는 범위를 추가해야 합니다.
예를 들어 F1:F3 및 G1:G3에 조회 테이블을 만듭니다.
FG 1 알렉스 1 2 베티 2 3 찰리 3
그러면 사용할 함수는
비 1 =조회(A1,$F$1:$F$3,$G$1:$G$3) 2 =조회(A2,$F$1:$F$3,$G$1:$G$3)
B1 셀에서 LOOKUP은 A1("Charlie")을 찾아 F3에서 찾은 다음 G3의 값인 3을 반환합니다. B2 셀에서 LOOKUP은 A2("Alex")를 찾아 F1에서 찾은 다음 G1의 값인 1을 반환합니다.
기본 시트에 조회 테이블을 원하지 않는 경우 통합 문서의 다른 시트에 조회 테이블을 넣을 수도 있습니다.
답변2
소스 데이터가 어떻게 생겼는지 100% 확신할 수는 없지만 MATCH 함수는 단일 값을 보고 배열 내의 위치를 반환합니다.
A1:A4인 경우
Alex
Betty
Charlie
Betty
그리고 B1에는
=MATCH(A1,$A$1:$A$4)
B1이 돌아올 것이다
1
그런 다음 B1부터 B4까지 채우면 결과를 얻을 수 있습니다.