SpreadJS製品ヘルプ
XMATCH
関数リファレンス > 関数の一覧 > 検索/行列関数 > XMATCH

XMATCH関数は、配列またはセル範囲内で指定された項目を検索し、項目の相対的な位置を返します。 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関数は、垂直配列と水平配列の両方で動作します。参照値が見つからない場合XMATCH関数は#N/Aエラーを返します。 ワイルドカード一致モードとバイナリ検索モードを同時に使用すると、#VALUE! を返します。

データ型

数値データを受け取り、範囲またはテーブル内の値を検索し、 複数のアイテムを持つ配列を返します。

サンプル

次のコードは、XMATCH関数の使用法を示します。

JavaScript
コードのコピー
$(document).ready(function () {
    // Spreadを初期化します
    var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 });
    // 動的配列のサポートを有効にします
    spread.options.allowDynamicArray = true;
    // activeSheetを取得します
    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, 'Basic exact match');
    sheet.setValue(1, 6, formula_Exact);
    sheet.setValue(6, 6, 'Basic approximate match');
    sheet.setValue(7, 6, formula_Approx);
    sheet.setValue(12, 6, 'MultipleValues');
    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);

});

関連トピック

HLOOKUP | LOOKUP