- 技術 💻
INDEX MATCHの使い方|複数条件・左側検索とXLOOKUPの使い分け
INDEX MATCHとは、MATCH関数で「何番目にあるか」を調べ、INDEX関数でその位置の値を取り出す、2つの関数を組み合わせた検索の書き方です。 検索する列と取り出す列を別々に指定するので、検索列より左の値も取れますし、行と列の両方向で探す表にも使えます。
この記事では、同じ架空の商品表を使って、基本形・左側検索・行と列の交差検索・複数条件・照合の種類の違いを、数式と計算結果のセットで並べます。VLOOKUP・XLOOKUPとの使い分けと、エラーが出たときの直し方も表で引けるようにしました。
確認環境:数式の計算結果は LibreOffice Calc 24.2.7.2 のヘッドレス実行で求めた値です(確認日 2026-10-05)。Calc 24.2 には XLOOKUP が無いため、XLOOKUP の仕様と対応バージョンは Microsoft サポートの記載にもとづいています。
この記事の結論
- XLOOKUPが使える版だけで使うファイルなら、XLOOKUPが短く書けます。
- XLOOKUPが使えない版(Excel 2016・2019)と共有するファイルと、行と列の両方向で探す表では、INDEX MATCHを選びます。
- INDEX MATCHの基本形は
=INDEX(取り出す列,MATCH(検索値,検索する列,0))です。最後の 0(完全一致)は省略しません。 - 複数条件は、検索値と検索列を
&で連結する方法と、MATCH(1,(条件1)*(条件2),0)の方法の2つがあります。
INDEX MATCH・VLOOKUP・XLOOKUPの早見表
| 比べる点 | VLOOKUP | XLOOKUP | INDEX MATCH |
|---|---|---|---|
| 書き方 | =VLOOKUP(検索値,範囲,列番号,FALSE) |
=XLOOKUP(検索値,検索範囲,戻り範囲) |
=INDEX(取り出す列,MATCH(検索値,検索する列,0)) |
| 左側検索(検索列より左の値を取る) | 向かない(検索値は範囲の最初の列に置く決まり) | できる | できる |
| 列の挿入への強さ | 列番号が数字のままだと別の列を指す | 強い(列を範囲で指定) | 強い(列を範囲で指定) |
| 行と列の両方向の検索 | 列番号をMATCHで求めれば可能 | XLOOKUPを2つ組み合わせる | MATCHを2つ使って1つの式で書ける |
| 複数条件 | 作業列を足す方法が中心 | 検索範囲に配列を渡せる | & 連結、または (条件1)*(条件2) |
| 対応バージョン | Excel 2016 以降のどの版でも使える | Excel 2016・2019 では使えない | 以前からある関数どうしの組み合わせで、版を選ばない |
| 既定の照合方法(省略時) | 近似一致(TRUE) | 完全一致(0) | MATCHは「1」=検索値以下の最大値(昇順の表が前提) |
| 見つからないときの表示 | IFERRORなどで囲む | 第4引数で指定できる | IFERRORなどで囲む |
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「INDEX MATCHの使い方|複数条件・左側検索とXLOOKUPの使い分け」
どれを使うかの判断表
| 条件 | 選ぶもの |
|---|---|
| ファイルを開く全員が XLOOKUP を使える版 | XLOOKUP |
| Excel 2016・2019 の利用者にもファイルを渡す | INDEX MATCH |
| 商品×月のように、行と列の両方から1つの値を探す | INDEX MATCH(MATCHを2つ) |
| 検索列が表の左端にあり、列の構成が今後も変わらない | VLOOKUP でも足りる |
| 表に列を足したり並べ替えたりする予定がある | INDEX MATCH か XLOOKUP |
| 「数量が50以上なら割引10%」のような段階表を引く | INDEX MATCH(照合の種類 1)か VLOOKUP の近似一致 |
XLOOKUPを含むブックを Excel 2016・2019 で開く場合があることは、Microsoft サポートの XLOOKUP のページにも注意書きがあります。渡す相手の版がはっきりしないときは、INDEX MATCHで書いておくと、どの版でも同じ結果になります。
この記事で使う商品表
A1からF9に次の表が入っているものとします。下のタブ区切りをコピーして、A1に貼り付けると同じ表になります。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | 商品コード | 商品名 | 分類 | 色・サイズ | 単価 | 在庫 |
| 2 | P-001 | ノート | 文具 | A4 | 180 | 120 |
| 3 | P-002 | ノート | 文具 | B5 | 150 | 80 |
| 4 | P-003 | ボールペン | 文具 | 黒 | 110 | 300 |
| 5 | P-004 | ボールペン | 文具 | 赤 | 110 | 150 |
| 6 | P-005 | マグカップ | 雑貨 | 白 | 680 | 40 |
| 7 | P-006 | マグカップ | 雑貨 | 青 | 720 | 25 |
| 8 | P-007 | タオル | 雑貨 | 白 | 450 | 60 |
| 9 | P-008 | 付箋 | 文具 | 黄 | 220 | 200 |
商品コード 商品名 分類 色・サイズ 単価 在庫
P-001 ノート 文具 A4 180 120
P-002 ノート 文具 B5 150 80
P-003 ボールペン 文具 黒 110 300
P-004 ボールペン 文具 赤 110 150
P-005 マグカップ 雑貨 白 680 40
P-006 マグカップ 雑貨 青 720 25
P-007 タオル 雑貨 白 450 60
P-008 付箋 文具 黄 220 200
INDEX MATCHの基本形
まず2つの関数の役割を分けて見ます。
| 関数 | 書き方 | 返すもの |
|---|---|---|
| MATCH | =MATCH(検索値,検索する範囲,照合の種類) |
検索値が範囲の中で何番目にあるか(位置の番号) |
| INDEX | =INDEX(範囲,行番号,列番号) |
範囲の中の、指定した行・列にある値 |
商品コード「P-005」の単価を求める式と結果です。
=MATCH("P-005",A2:A9,0) → 5
=INDEX(E2:E9,5) → 680
=INDEX(E2:E9,MATCH("P-005",A2:A9,0)) → 680
MATCHが「A2:A9の5番目」と答え、INDEXが「E2:E9の5番目」の680を取り出します。MATCHの範囲とINDEXの範囲は、同じ行から始めて同じ行数にそろえるのが決まりごとです。
同じ単価をVLOOKUPで求めると =VLOOKUP("P-005",A2:F9,5,FALSE) で、結果は同じ680でした。違いが出るのは次の「左側検索」からです。
左側検索:検索列より左の値を取り出す
商品名「タオル」から、左にある商品コードを求めます。
=INDEX(A2:A9,MATCH("タオル",B2:B9,0)) → P-007
=VLOOKUP("タオル",A2:F9,1,FALSE) → #N/A
VLOOKUPは、範囲の最初の列(ここではA列の商品コード)から検索値を探します。A列に「タオル」は無いので #N/A になりました。INDEX MATCHは検索する列(B列)と取り出す列(A列)を別々に指定するので、位置関係を気にせずに書けます。
単価から商品名を逆引きすることもできます。
=INDEX(B2:B9,MATCH(MAX(E2:E9),E2:E9,0)) → マグカップ
=INDEX(B2:B9,MATCH(110,E2:E9,0)) → ボールペン
2つ目の式の単価110は4行目と5行目の2件ありますが、返るのは上にある行の値です。MATCHは最初に見つかった位置を返します。
行と列の交差検索:MATCHを2つ使う
H1からK5に、商品名と月ごとの販売数の表があるとします。
| H | I | J | K | |
|---|---|---|---|---|
| 1 | 4月 | 5月 | 6月 | |
| 2 | ノート | 30 | 42 | 35 |
| 3 | ボールペン | 88 | 90 | 120 |
| 4 | マグカップ | 12 | 9 | 15 |
| 5 | タオル | 20 | 18 | 26 |
「マグカップ」の「5月」の値は、行の位置と列の位置をそれぞれMATCHで求めます。
=INDEX(I2:K5,MATCH("マグカップ",H2:H5,0),MATCH("5月",I1:K1,0)) → 9
INDEXの第2引数が行番号、第3引数が列番号です。見出しの文字で列を探すので、月の列が増えても式を直さずに済みます。商品表でも同じ書き方が使えます。
=INDEX(A2:F9,MATCH("P-006",A2:A9,0),MATCH("在庫",A1:F1,0)) → 25
行番号に 0 を指定すると列全体、列番号に 0 を指定すると行全体が配列で返ります(Microsoft サポートの INDEX 関数のページの記載)。SUMと組み合わせると、1行分の合計が求められます。
=SUM(INDEX(I2:K5,MATCH("ボールペン",H2:H5,0),0)) → 298
複数条件で検索する2つの方法
商品名「マグカップ」かつ色「青」の単価を求めます。
方法1:検索値と検索列を & で連結する
=INDEX(E2:E9,MATCH("マグカップ"&"青",B2:B9&D2:D9,0)) → 720
B列とD列をつないだ「マグカップ青」という文字列を、行ごとに作って探す考え方です。
連結だけだと、別の組み合わせが同じ文字列になることがあります。「AB」と「C」、「A」と「BC」の2行がある表で確かめました(T1:U2に値、V1:V2に取り出す値 1 と 2 が入っています)。
=INDEX(V1:V2,MATCH("A"&"BC",T1:T2&U1:U2,0)) → 1(1行目の「AB」「C」に当たっている)
=INDEX(V1:V2,MATCH("A"&"|"&"BC",T1:T2&"|"&U1:U2,0)) → 2(ねらった行)
値に出てこない区切り文字(ここでは縦棒)をはさむと、組み合わせを取り違えません。
方法2:MATCH(1,(条件1)*(条件2),0) を使う
=INDEX(E2:E9,MATCH(1,(B2:B9="マグカップ")*(D2:D9="青"),0)) → 720
(B2:B9="マグカップ") は行ごとに TRUE/FALSE を返し、掛け算で 1/0 に変わります。両方の条件を満たす行だけが 1 になるので、その 1 を MATCH で探します。文字の連結ではないため取り違えが起きず、>= などの比較も書けます。
=INDEX(B2:B9,MATCH(1,(C2:C9="雑貨")*(F2:F9>=50),0)) → タオル
分類が「雑貨」で在庫が50以上の最初の行(8行目)の商品名が返りました。
掛け算(*)は「かつ」です。足し算(+)にすると意味が変わります。
=INDEX(E2:E9,MATCH(1,(B2:B9="マグカップ")+(D2:D9="青"),0)) → 680(片方だけ当たる6行目)
配列数式の確定方法と、Enterだけで済む書き方
方法1・方法2は、範囲どうしを計算する配列数式です。Microsoft サポートの INDEX 関数のページには、Microsoft 365 では通常の数式として入力でき、それより前の版では Ctrl+Shift+Enter で配列数式として確定する、と書かれています。
共有相手の版がそろっていないときは、条件の部分を INDEX(…,0) で囲む書き方にすると、Enterだけで確定できます。
=INDEX(E2:E9,MATCH(1,INDEX((B2:B9="マグカップ")*(D2:D9="青"),0),0)) → 720
Calcでは、この式を通常の数式として入力して720が返ることを確かめました。
2つの方法の選び方
| 条件 | 選ぶ方法 |
|---|---|
| 条件がすべて「等しい」で、値に区切り文字が出てこない | & 連結(区切り文字つき) |
| 「以上」「以下」などの比較が入る | (条件1)*(条件2) |
| 条件が3つ以上ある | (条件1)*(条件2)*(条件3) と掛け足す |
| Ctrl+Shift+Enter が必要な版の利用者もいる | INDEX(…,0) で囲む書き方 |
照合の種類 0・1・-1 の違い
MATCHの第3引数「照合の種類」は、Microsoft サポートの MATCH 関数のページで次のように説明されています。
| 照合の種類 | 探し方 | 表の並び |
|---|---|---|
| 0 | 検索値と等しい最初の値 | 並び順は問わない |
| 1(省略時の既定) | 検索値以下の最大の値 | 昇順に並べておく |
| -1 | 検索値以上の最小の値 | 降順に並べておく |
1:段階表から「以下で最大」を引く
N1からO5に、数量に応じた割引率の表(昇順)があるとします。
| N | O | |
|---|---|---|
| 1 | 数量(以上) | 割引率 |
| 2 | 1 | 0 |
| 3 | 10 | 0.05 |
| 4 | 50 | 0.1 |
| 5 | 100 | 0.15 |
=MATCH(45,N2:N5,1) → 2
=INDEX(O2:O5,MATCH(45,N2:N5,1)) → 0.05
=INDEX(O2:O5,MATCH(50,N2:N5,1)) → 0.1
=INDEX(O2:O5,MATCH(100,N2:N5,1)) → 0.15
=MATCH(45,N2:N5,0) → #N/A
=MATCH(0,N2:N5,1) → #N/A
45は「10以上50未満」の段に当たり、割引率0.05(5%)が返ります。完全一致(0)では45が表に無いので #N/A です。表の最小値より小さい0も、当てはまる段が無いので #N/A になります。
-1:降順の表から「以上で最小」を引く
Q1からR5に、箱に入る数の表(降順)があるとします。
| Q | R | |
|---|---|---|
| 1 | 入る数(まで) | 箱 |
| 2 | 100 | 特大 |
| 3 | 60 | 大 |
| 4 | 30 | 中 |
| 5 | 10 | 小 |
=INDEX(R2:R5,MATCH(45,Q2:Q5,-1)) → 大
=INDEX(R2:R5,MATCH(60,Q2:Q5,-1)) → 大
=INDEX(R2:R5,MATCH(61,Q2:Q5,-1)) → 特大
=INDEX(R2:R5,MATCH(10,Q2:Q5,-1)) → 小
=MATCH(120,Q2:Q5,-1) → #N/A
45個が入る最小の箱は「大」(60まで)です。61個になると「特大」に切り上がります。120は最大の100を超えるので #N/A です。
並びと種類が合っていないとき
=MATCH(45,Q2:Q5,1) → #N/A(降順の表に 1 を指定)
=MATCH(45,N2:N5,-1) → #N/A(昇順の表に -1 を指定)
照合の種類を省略するとどうなるか
省略すると 1 として扱われます。並べ替えていない商品名の列で試した結果です。
=MATCH("ノート",B2:B9,0) → 1
=MATCH("ノート",B2:B9) → 2
=INDEX(E2:E9,MATCH("ノート",B2:B9,0)) → 180
=INDEX(E2:E9,MATCH("ノート",B2:B9)) → 150
=MATCH("タオル",B2:B9) → #N/A
「ノート」は1番目と2番目にありますが、省略した式は2番目を返し、単価も別の行の150になりました。「タオル」は表にあるのに #N/A です。エラーにならずに別の行の値が返ることがあるので、完全一致で探すときは必ず 0 を書きます。
列を挿入しても結果が変わらないことを確かめる
商品表の「分類」と「色・サイズ」の間に1列(仕入先)を挿入して、挿入の前と後で3つの式を比べました。
| 挿入前の式 | 挿入前の結果 | 挿入後の式(自動で書き換わった形) | 挿入後の結果 |
|---|---|---|---|
=VLOOKUP("P-005",A2:F9,5,FALSE) |
680 | =VLOOKUP("P-005",A2:G9,5,FALSE) |
白 |
=INDEX(E2:E9,MATCH("P-005",A2:A9,0)) |
680 | =INDEX(F2:F9,MATCH("P-005",A2:A9,0)) |
680 |
=VLOOKUP("P-005",A2:F9,MATCH("単価",A1:F1,0),FALSE) |
680 | =VLOOKUP("P-005",A2:G9,MATCH("単価",A1:G1,0),FALSE) |
680 |
VLOOKUPの範囲は A2:G9 に広がりましたが、列番号の 5 は数字のままなので、5列目になった「色・サイズ」の値が返りました。INDEX MATCHは取り出す列の参照が E列からF列へ追従しています。VLOOKUPを使い続ける場合も、3つ目の式のように列番号をMATCHで求めると同じ強さになります。
症状別:エラーの原因と直した数式
| 症状 | 主な原因 | 再現した式と結果 | 直した式と結果 |
|---|---|---|---|
| #N/A | 検索値が表に無い | =INDEX(E2:E9,MATCH("P-009",A2:A9,0)) → #N/A |
=IFERROR(INDEX(E2:E9,MATCH("P-009",A2:A9,0)),"該当なし") → 該当なし |
| #N/A | 検索値の末尾に空白がある(A12に「P-005」+半角空白) | =INDEX(E2:E9,MATCH(A12,A2:A9,0)) → #N/A |
=INDEX(E2:E9,MATCH(TRIM(A12),A2:A9,0)) → 680 |
| #N/A | 検索値が数値で、表の側が文字列(文字列の「1002」を数値の1002で検索) | =MATCH(D1,A2:A3,0) → #N/A |
=MATCH(D1&"",A2:A3,0) → 2 |
| #N/A | 照合の種類と表の並びが合っていない | =MATCH(45,Q2:Q5,1) → #N/A |
=MATCH(45,Q2:Q5,-1) → 2 |
| #REF! | INDEXの範囲より大きい行番号・列番号を渡している | =INDEX(E2:E9,9) → #REF! |
範囲を表の行数に合わせる |
| #REF! | INDEXの範囲がMATCHの範囲より短い | =INDEX(E2:E8,MATCH("P-008",A2:A9,0)) → #REF! |
=INDEX(E2:E9,MATCH("P-008",A2:A9,0)) → 220 |
| #REF! | 1列だけの範囲に列番号 2 を渡している | =INDEX(E2:E9,MATCH("P-005",A2:A9,0),2) → #REF! |
列番号を外すか、範囲を複数列にする |
| #VALUE! | 行番号に文字列が入っている(MATCHで囲み忘れ) | =INDEX(E2:E9,"5番目") → #VALUE! |
=INDEX(E2:E9,MATCH(…,…,0)) の形にする |
| ずれた値が返る | INDEXとMATCHの範囲の開始行が違う | =INDEX(E1:E9,MATCH("P-005",A2:A9,0)) → 110、=INDEX(E3:E9,MATCH("P-005",A2:A9,0)) → 720 |
=INDEX(E2:E9,MATCH("P-005",A2:A9,0)) → 680 |
| ずれた値が返る | 照合の種類を省略している | =INDEX(E2:E9,MATCH("ノート",B2:B9)) → 150 |
=INDEX(E2:E9,MATCH("ノート",B2:B9,0)) → 180 |
| ずれた値が返る | 同じ値が複数行にある | =INDEX(B2:B9,MATCH(110,E2:E9,0)) → 上の行のボールペン |
条件を足して複数条件にする |
数値と文字列の行は、会員番号が文字列で入った小さな表(A2に「1001」、A3に「1002」、D1に数値の1002)で確かめた結果です。
IFERRORとIFNAの違い
見つからないときの表示を変えるには、式全体をIFERRORかIFNAで囲みます。
=IFERROR(INDEX(E2:E9,MATCH("P-009",A2:A9,0)),"該当なし") → 該当なし
=IFNA(INDEX(E2:E9,MATCH("P-009",A2:A9,0)),"該当なし") → 該当なし
=IFERROR(INDEX(E2:E9,9),"該当なし") → 該当なし
=IFNA(INDEX(E2:E9,9),"該当なし") → #REF!
IFNAは #N/A だけを置き換えます。範囲の指定ミスによる #REF! はそのまま表示されるので、「見つからない」と「式の誤り」を見分けたいときはIFNAが向いています。
知っておくと便利な書き方
| やりたいこと | 数式 | 結果 |
|---|---|---|
| 前方一致で探す(「マグ」で始まる) | =MATCH("マグ*",B2:B9,0) |
5 |
| 1文字だけ任意にして探す | =MATCH("マグ?ップ",B2:B9,0) |
5 |
| 大文字と小文字を区別せずに探す | =INDEX(E2:E9,MATCH("p-005",A2:A9,0)) |
680 |
| 列全体を指定する | =INDEX(E:E,MATCH("P-005",A:A,0)) |
680 |
| 2つの列を取り出して掛ける(単価×在庫) | =INDEX(E2:E9,MATCH("P-005",A2:A9,0))*INDEX(F2:F9,MATCH("P-005",A2:A9,0)) |
27200 |
ワイルドカード(? と *)は、照合の種類が 0 で検索値が文字列のときに使えます。MATCHは大文字と小文字を区別しません。どちらも Microsoft サポートの MATCH 関数のページに記載があります。列全体を指定するときは、INDEXとMATCHの両方を列全体にそろえると、開始行のずれが起きません。
確かめて分かったこと
- 照合の種類を省略した式は、エラーにならずに別の行を返すことがある。 「ノート」の検索で、0 を付けた式は180、省略した式は150でした。
&連結は、区切り文字なしだと別の組み合わせに当たる。 「A」「BC」を探して「AB」「C」の行が返りました。- INDEXとMATCHの開始行が1行ずれると、エラーではなく隣の行の値が返る。 680のはずが110や720になります。行数だけが足りない場合は #REF! です。
- 列を挿入すると、VLOOKUPの列番号5は数字のまま残り、結果が「白」に変わった。 INDEX MATCHと、列番号をMATCHで求めたVLOOKUPは680のままでした。
- IFNAは #REF! を置き換えない。 範囲の指定ミスに気づける分、IFERRORより原因を追いやすくなります。
- 昇順の表に -1、降順の表に 1 を指定すると #N/A になった。 段階表を引くときは、並びと種類をセットで確認します。
よくある質問
Q. INDEX MATCHとは何ですか?
A. MATCHで検索値の位置を求め、INDEXでその位置の値を取り出す組み合わせです。=INDEX(取り出す列,MATCH(検索値,検索する列,0)) と書きます。
Q. INDEX MATCHとXLOOKUPの違いは何ですか? A. できることはほぼ重なりますが、XLOOKUPは Excel 2016・2019 で使えません。全員が使える版ならXLOOKUP、そうでなければINDEX MATCHと決めると迷いません。行と列の両方向で探す表は、INDEX MATCHのほうが1つの式で素直に書けます。
Q. INDEX MATCHで複数条件にするにはどう書きますか?
A. =INDEX(取り出す列,MATCH(1,(条件1)*(条件2),0)) と書きます。条件が「等しい」だけなら、検索値と検索列を & で連結する方法も使えます。
Q. INDEX MATCHで #N/A が出て検索できないときは?
A. まず検索値が表にあるかを確かめ、次に末尾の空白、数値と文字列の違い、照合の種類の順に見ます。TRIMで空白を取る、&"" で文字列にそろえる、第3引数に 0 を書く、のいずれかで直ることが多いです。
Q. MATCHの照合の種類は省略してもよいですか? A. 完全一致で探すときは省略しません。省略すると 1(検索値以下の最大値)として扱われ、並べ替えていない表では別の行の位置が返ることがあります。
まとめ
- INDEX MATCHは「MATCHで位置、INDEXで値」。 基本形は
=INDEX(取り出す列,MATCH(検索値,検索する列,0))。 - XLOOKUPが使える版だけならXLOOKUP、Excel 2016・2019 と共有するファイルや行と列の両方向の表ではINDEX MATCH。
- 左側検索は、検索する列と取り出す列を別々に指定するだけで書ける。
- 複数条件は
&連結(区切り文字つき)かMATCH(1,(条件1)*(条件2),0)。比較が入るなら掛け算の方法。 - 照合の種類は 0 を必ず書く。 段階表は昇順なら 1、降順なら -1。
- 範囲は同じ行から同じ行数でそろえる。 ずれると隣の行の値や #REF! になる。
- 見つからないときは IFNA で囲むと、範囲の指定ミスと見分けられる。
参考・出典
- Microsoft サポート「MATCH 関数」https://support.microsoft.com/ja-jp/office/match-関数-e8dffd45-c762-47d6-bf89-533f4a37673a
- Microsoft サポート「INDEX 関数」https://support.microsoft.com/ja-jp/office/index-関数-a5dcf0dd-996d-40a4-a822-b56b061328bd
- Microsoft サポート「VLOOKUP 関数」https://support.microsoft.com/ja-jp/office/vlookup-関数-0bbc8083-26fe-4963-8ab8-93a18ad188a1
- Microsoft サポート「XLOOKUP function」https://support.microsoft.com/en-us/office/xlookup-function-b7fd680e-6d10-43e6-84f9-88eae8bf5929
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「INDEX MATCHの使い方|複数条件・左側検索とXLOOKUPの使い分け」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。