[]
XMATCH 함수는 배열 또는 셀 범위에서 특정 항목을 검색한 뒤, 해당 항목의 상대적 위치를 반환합니다. 즉, 이 함수는 리스트 내에서 항목의 위치를 찾는 데 사용됩니다.
XMATCH 함수는 근사 일치, 부분 일치(와일드카드 문자 "*", "?" 등 사용), 정확한 일치를 지원합니다.
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
이 함수는 다음 인수를 가집니다:
인수 | 설명 |
---|---|
lookup_value | 조회할 값입니다. |
lookup_array | 검색할 조회 배열 또는 셀 범위입니다. |
[match_mode] | [선택] 일치 유형을 지정합니다: 0 - 정확히 일치하는 값을 찾습니다. 없으면 #N/A 오류 반환 (기본값) -1 - 정확히 일치하는 값을 찾습니다. 없으면 바로 작은 값을 반환 1 - 정확히 일치하는 값을 찾습니다. 없으면 바로 큰 값을 반환 2 - 와일드카드(*, ?, ~)를 사용한 부분 일치 |
[search_mode] | [선택] 검색 모드를 지정합니다: 0 - 모든 일치 항목을 반환하는 “전체 검색” 모드 (Excel에는 없음) 1 - 첫 번째 항목부터 검색 (기본값) -1 - 마지막 항목부터 역방향 검색 2 - lookup_array가 오름차순 정렬된 상태에서 이진 검색 -2 - lookup_array가 내림차순 정렬된 상태에서 이진 검색 |
XMATCH 함수는 세로 및 가로 배열 모두에 사용할 수 있습니다. 조회 값이 없으면 #N/A 오류를 반환합니다. 와일드카드 일치 모드와 이진 검색 모드를 동시에 사용할 경우 #VALUE! 오류를 반환합니다.
숫자 데이터를 받으며, 범위나 테이블 내 값을 조회합니다. 여러 항목이 포함된 배열을 반환합니다.
다음 코드는 XMATCH 함수 사용법을 보여줍니다.
$(document).ready(function () {
// Spread 초기화
var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 });
// 동적 배열 지원 활성화
spread.options.allowDynamicArray = true;
// 활성 시트 가져오기
var sheet = spread.getSheet(0);
// 열 너비 설정
sheet.setColumnWidth(6, 160);
// 수식 생성
var formula_Exact = '=XMATCH(G4,A5:A9)';
var formula_Approx = '=XMATCH(G10,D5:D9,1)';
var formula_MultipleValues = '=XMATCH({5,4,1},C5:C9)';
// 값 설정
sheet.setValue(0, 6, '기본 정확한 일치');
sheet.setValue(1, 6, formula_Exact);
sheet.setValue(6, 6, '기본 근사 일치');
sheet.setValue(7, 6, formula_Approx);
sheet.setValue(12, 6, '여러 값');
sheet.setValue(13, 6, formula_MultipleValues);
// 데이터 생성
var data = [
["Movie", "Year", "Rank", "Sales"],
["Fargo", 1996, 5, 61],
["L.A. Confidential", 1997, 4, 126],
["The Sixth Sense", 1999, 1, 673],
["Toy Story", 1995, 2, 362],
["Unforgiven", 1992, 3, 159]
];
// 데이터 설정
sheet.setArray(3, 0, data);
// 값 설정
sheet.setValue(3, 5, 'Movie');
sheet.setValue(4, 5, 'Position');
sheet.setValue(3, 6, 'Toy Story');
// 수식 설정
sheet.setFormula(4, 6, formula_Exact);
// 값 설정
sheet.setValue(9, 5, 'Sales');
sheet.setValue(10, 5, 'Position');
sheet.setValue(9, 6, 400);
// 수식 설정
sheet.setFormula(10, 6, formula_Approx);
// 값 설정
sheet.setValue(15, 5, 'Rank');
sheet.setValue(16, 5, 'Position');
sheet.setValue(15, 6, '{5,4,1}');
// 수식 설정
sheet.setFormula(16, 6, formula_MultipleValues);
});