Excelの関数の中でもよく使用される関数の1つとしてMATCH関数があります。大量のデータが表形式である場合、欲しいデータが表の中でどの位置にあるのかを知りたいときに役立ちます。, 引数が多いので難しいという印象がある関数ですが、初めてMATCH関数を触る人でもわかりやすいように引数を1つずつ分解して解説しています。, MATCH(マッチ)関数は、指定した範囲内で探したい数値や文字列がどの位置にあるかを列・行番号で返す関数です。, MATCH関数を使用することで探したいデータが表の何行目、何列目にあるのかを調べることができます。, MATCH関数は、指定された照合の種類に従って検査範囲内を検索し、検索値と一致する要素の、配列内での相対的な位置を表す数値を返します。, 書式は「=MATCH(検索値, 検索範囲, [照合の種類])」のように記述します。MATCH関数では引数を最大3つ使用します。, ※引数(ひきすう)とは、Excelの関数を使用する際に必要な情報です。関数が結果を返すための判断材料とイメージしましょう。関数名の後の括弧「()」内に入力します。, 1番目の引数は「検索値」です。この引数は必須です。検索したい値またはセル参照を指定します。文字列などの値を指定するときは「"文字列"」のようにダブルクォーテーションで囲います。, 第3引数の照合の種類が「0」の場合、検査値に疑問符(?)やアスタリスク(*)などのワイルドカード文字が使用できます。, 2番目の引数は「検索範囲」です。この引数は必須です。検索するセルの範囲を指定します。, 3番目の引数は「照合の種類」です。この引数は任意です。検索範囲の中から検査値を探す方法として「-1」「0」「1」のいずれかを指定します。省略すると「1」が指定されます。, 実際にMATCH関数を使用する例をご紹介します。引数をどのように使用するか見てみましょう。, まずは上記の表を準備しましょう。今回の目的としてはケーキが何行目にあるのか、売上個数が何列目にあるかを求めるとします。, 検索値としてF2セルを選択します。G2セルに『=MATCH(F2,』と入力されました。, A2セルからA6セルまでをまとめて範囲選択します。G2セルに『=MATCH(F2,A2:A6,』と入力されました。, 照合の種類として、ここでは完全一致の「0」を指定します。G2セルに『=MATCH(F2,A2:A6,0)』と入力し、【Enter】キーを押します。, 指定した範囲(A2:A6)で検索値(ケーキ)の位置が「3」行目とG2セルに表示されました。, 上記と同じように「売上個数」の位置を求めましょう。G3セルに『=MATCH(F3,B1:C1,0)』と入力し、Enterを押します。, 指定した範囲(B1:C1)で検索値(売上個数)の位置が「2」列目とG3セルに表示されました。, MATCH関数はあいまいな検索も可能です。ワイルドカードを使用することで前方一致や部分一致、後方一致などの検索ができます。, 上図でA列より「コ」を含むセルの位置を求めるとします。G4セルを選択し、『=MATCH("*コ*",A2:A6,0)』と入力します。, 文字列の前後に「*」(アスタリスク)を入れることで文字列が含むパターンを探します。, A列で「コ」を含むのが4行目の「チョコレート」でした。正しい位置がG4セルに表示されています。, 検索する文字列の後ろに「*」を付け加えることで前方一致で検索をすることができます。, 上図でA列より「ク」から始まるセルの位置を求めるとします。G5セルを選択し、『=MATCH("ク*",A2:A6,0)』と入力します。, 文字列の後に「*」(アスタリスク)を入れることで文字列の先頭が「ク」であるパターンを探します。, A列で「ク」で始まるのが2行目の「クッキー」でした。正しい位置がG5セルに表示されています。, 上図でA列より「ロ」で終わるセルの位置を求めるとします。G6セルを選択し、『=MATCH("*ロ",A2:A6,0)』と入力します。, 文字列の前に「*」(アスタリスク)を入れることで文字列の最後が「ロ」であるパターンを探します。, A列で「ロ」で終わるのが5行目の「マシュマロ」でした。正しい位置がG6セルに表示されています。, 「?」を使用することで任意の1文字を検索できます。?? のような形になることを利用してます。 英語の記事 この結果を ISNUMBER() が {false;true;false}と変換し 配列数式とは、どのような数式でしょうか? ↑配列数式は、複数のセルの値をいっぺんに計算し、複数のセルで計算結果を求めることができます。 ↑配列数式は、複数の商品単価と個数の計算結果を小計を計算せずに、総合計を求めることができます。 そして数式の見た目も、変わっています。 配列数式は、『波括弧{}』で、囲まれた数式になります。 最初と最後に『波括弧{}』が入力されています。 ↑そして配列数式は、入力確定する際に『Ctrl+Shift+Enter』を押して確定させます。 『配列数式』は便利で … 配列数式を使うと、これらを1行の数式に纏めることが出来ます。 この問題で配列数式を使うべきかは異論があると思いますが、 この手法をマスターすることで、どのような場面でも配列数式を適用することが出来るようになることでしょう。 イマイチよく理解できません・・・・。 配列数式初心者です。 検索するセルの範囲を指定します。 エクセルINDEX関数とMATCH関数を組み合わせて、複数条件に一致する値を検索、抽出する場合、方法は幾つかあります。ここでは、INDEX関数とMATCH関数を組み合わせて、複数条件に一致する値を抽出する方法を、色々紹介しています。ここでの方法をマスターすると、INDEX関数とMATCH関数を組み合わせて、複数条件AND(かつ)や、OR(または)で値を検索し、抽出できるようになります。複数列の条件でも、3つ条件でも、簡単に値を抽出できます。テクニックを取得して、より複雑な抽出ができるようになりましょう。, エクセルINDEX関数、MATCH関数、IFERROR関数を組み合わせて、複数条件ORで値を抽出します。, 商品№「A100022」、または「A221200」、または「B120001」である取扱店舗を抽出しましょう。, 優先順位は「A221200」次に「B120001」最後に「A100022」とします。, E2  =IFERROR(INDEX(B2:B7,MATCH(“A221200”,A2:A7,0),1),IFERROR(INDEX(B2:B7,MATCH(“B120001”,A2:A7,0),1),IFERROR(INDEX(A2,MATCH(“A100022″,A2:A7,0),1),”エラー”))), もし「A221200」がなかったら「B120001」を探し、その取扱店舗を返します。もし「B120001」がなかったら「A100022」を探し、その取扱店舗を返します。, この3つの商品№がなかったら、エラーになります。エラーになった場合は、IFERROR関数で指定した値「エラー」が表示されます。, I2に、商品№「320001」かつ 、型番「A102」かつ、 ランク「A」の3つの条件で、該当する金額を求める式を入力しましょう。, I2 =INDEX(D2:D8,MATCH(F2&G2&H2,A2:A8&B2:B8&C2:C8,0),1)), 複数条件に一致する値が無い場合、エラーになります。エラー値を表示させたくない場合は、IFERROR関数を使います。, I2 =IFERROR(INDEX(D2:D8,MATCH(F2&G2&H2,A2:A8&B2:B8&C2:C8,0),1),”エラー”), I2 {=IFERROR(INDEX(D2:D8,MATCH(F2&G2&H2,A2:A8&B2:B8&C2:C8,0),1),”エラー”)}, エクセルINDEX関数、SUMPRODUCT関数、ROW関数を組み合わせて、ANDの複数条件で値を抽出しましょう。, L2に、商品№「20002」かつ、 型番「A102」かつ 、個数「525」の3つの条件で、該当する金額を求める式を入力しましょう。, L2 =INDEX(D1:D7,SUMPRODUCT((A2:A7=I2)*(B2:B7=J2)*(C2:C7=K2)*ROW(A2:A7)),1), ISUMPRODUCT関数で複数条件を指定します。指定した条件式は*で繋ぎ、ROW関数で行番号を取得します。, =SUMPRODUCT((配列の条件1)*(配列の条件2)*(配列の条件3),配列1,配列2,配列3…), L3に、商品№「20002」かつ 、型番「B201」かつ 、個数「235」、複数列の条件に該当する金額を求める式を入力しましょう。, L3 =INDEX(D1:D7,SUMPRODUCT((A2:A7=I3)*(B2:B7=J3)*(C2:C7=K3),ROW(A2:A7)),1), こちらの記事もご覧ください。⇒エクセルINDEX関数とMATCH関数を使って検索、抽出する方法, SUMPRODUCT関数の配列計算を使って、AND(かつ)の複数条件で値を取得する場合は、その値が必ず範囲の中にある時です。, SUMPRODUCT関数の配列計算を使って、AND(かつ)の複数条件で値を取得する場合、全ての条件に合致しなくても値を返してしまいます。, こちらの記事もご覧ください。⇒エクセルINDEX関数とMATCH関数を使ってOR(または)の複数条件で値を取得する, エクセルINDEX関数、SUMPRODUCT関数、ROW関数、MATCH関数を組み合わせて、ANDの複数条件で値を抽出しましょう。, L2に、商品№「20002」かつ、 型番「B201」で、 ランクの中から「Cランク」、複数列の条件に該当する「単価」を求める式を入力しましょう。, L2 =INDEX(A1:G7,SUMPRODUCT((A2:A7=I2)*(B2:B7=J2)*ROW(A2:A7)),MATCH(K2,A1:G1,0)), SUMPRODUCT関数で条件式を*で繋ぎ、ROW関数で行番号を取得します。MATCH関数で、ランク「Cランク」の列番号を取得します。, こちらの記事もご覧ください。⇒エクセル関数INDEXとMATCHで複数条件で検索、抽出!, SUMPRODUCT関数の条件式で、枝番「C101」一致する値がない場合の式、L3に入力しましょう。, L3 =INDEX(A1:G7,SUMPRODUCT((A2:A7=I3)*(B2:B7=”C101″)*ROW(A2:A7)),MATCH(K3,A1:G1,0)), MATCH関数の条件式で、「Dランク」に一致する値がない場合の式を、L4に入力しましょう。, L4 =INDEX(A1:G7,SUMPRODUCT((A2:A7=I4)*(B2:B7=J4)*ROW(A2:A7)),MATCH(K4,A1:G1,0)), こちらの記事もご覧ください。⇒エクセルINDEXとMATCH関数でワイルドカードで検索, SUMPRODUCT関数とMATCH関数とでは、一致する値がない場合、返す値が違ってきます。SUMPRODUCT関数は、完全に一致する値がなくても値を返してしまします。, MATCH関数は完全に一致する値がなかった場合、「エラー値」を返します。SUMPRODUCT関数の配列計算を使っての複数条件(AND)では、完全に一致する値が検索する範囲にある時に使いましょう。, こちらの記事もご覧ください。⇒エクセルOFFSET関数の使い方 MATCH関数と組み合わせて可変するセル範囲に対応, エクセルINDEX関数は、行番号と列番号が交差する位置にあるセルの値を返す関数です。エクセルINDEX関数には、配列形式とセル範囲形式の2つの使い方があります。, 配列形式は、指定した範囲からある値を返します。セル範囲形式は指定した範囲からセルの参照を返します。, 参照: 複数の範囲を指定する場合は、複数指定した範囲全体ををかっこ () で囲み、1つの範囲と範囲の間をを半角のコンマ(,)で区切ります。各領域が1行または1列の場合、行番号または列番号はそれぞれ省略できます。, 領域番号は「2」です。2番目の領域「A6:C7」が選択されます。2番目の「A6:C7」の領域、上から2番目の行、左から3番目の列の値を返します。, こちらの記事もご覧ください。⇒エクセルVLOOKUP関数とMATCH関数で値を検索!VLOOKUPの弱点を克服, 「1」:検査値以下の最大の値を返します。この場合、検査範囲を昇順の並べ替える必要があります。, 「0」:検査値と一致する一番最初の値を返します。行の場合は左から、列の場合は上から最初の値を返します。, 「-1」:検査値以上の最小の値が検索されます。この場合、検査範囲を降順に並べ替える必要があります。, こちらの記事もご覧ください。⇒エクセルIFERROR関数でVLOOKUP関数のエラーを回避する方法, B2/C2の数式の結果は「エラー」にはなりません。B2/C2の数式の結果「0.5」を返します。, 結果は、B3/C3の数式はエラー値「#DIV/0!」です。「未設定」が表示されます。, こちらの記事もご覧ください。⇒VLOOKUP関数のエラーをエクセルIF関数で回避する方法, 「B3:B6」の範囲の1行目の行番号を調べます。1行目はB3なので、行番号は「3」です。, F2 =C2*D2*E2+C3*D3*E3*+C4*D4*E4*+C5*D5*E5*+C6*D6*E6*+C7*D7*E7*+C8*D8*E8+C9*D9*E9, J2 =SUMPRODUCT((A2:A9=H2)*(B2:B9=I2),C2:C9,D2:D9), 「A2:A9」の範囲で「東京」、B2:B9の範囲で「りんご」となる列の積、「C列*D列」を返します。, こちらの記事もご覧ください。⇒エクセルSUMPRODUCT関数で複数条件で抽出した数値を合計する, エクセルINDEX関数とMATCH関数の複数条件で、OR(または)を使う場合は、1行または1列のセルの範囲で、AまたはBまたはC、以下複数の条件を優先順位で抽出したい時です。AND(かつ)を使う場合は、2つ以上の複数条件で、完全一致する値のみ抽出したい時です。INDEX関数とMATCH関数を使うと、複数列の条件でも値を抽出することができます。, こちらの記事もご覧ください。⇒エクセルINDEX関数とMATCH関数を使ってAND(かつ)の複数条件で値を取得する.

ドラクエ8 小さな メダル ドロップ 7, 考察 書き方 実習 14, 9 月 佐世保 5, 東京電機大学 夜間 編入 8, Dbd ランク 下げたい 8, Miracast このデバイス では 保護 され たコンテンツを表示 でき�% 34, 大阪 俳優 事務所 34, Ps4 赤いバツ 消えない 7, Cloud Storage 料金 6, ホラー映画 誘う 心理 14, Vba フレーム 最背面 11, 英語 配列キーボード 使い方 4, Mdi Icon Cheat Sheet 4, イ ミンギ プロフィール 4, パチンコ Nikko Cm 6, ドラクエ10 レベル解放 114 10, すとぷり 夢小説 彼氏 10, Fire Hd 10 第7世代 ミラーリング 9, Visual Studio 縦線 12, Vlc Mac Wmv 変換 23, 財布 カード 跡 消す 5, Nec マウス Amazon 5, Ff14 新式 450 6, 地方国立 理系 就職 6, Steam おすすめ アドベンチャー 9, ハイエース セカンドシート 構造変更 7, 靴下 シリコン かゆい 4,