エクセル関数応用
2段階の入力規則リスト作成:最新関数対応

Excel関数の解説、関数サンプルと高等テクニック
公開日:2025-12-24 最終更新日:2025-12-24

2段階の入力規則リスト作成:最新関数対応


一覧リストを使用して、「入力規則」の「リスト」を2段階で絞り込めるように作成します。
1段目のリスト選択により、2段目のリストが自動変化します。
以下の記事で紹介している内容と同じです。

入力規則のリストを、2段階の絞り込みで作成1
一覧リストを使用して、「入力規則」の「リスト」を作成し、「リスト」の選択結果により、となりの「リスト」の内容を自動で変化させます、さらに、一覧リストへの追加・削除に自動対応させるものです。入力規則のリストを、追加・削除に自動対応で作成 を理解した上でお読みください。
入力規則のリストを、2段階の絞り込みで作成2
一覧リストを使用して、「入力規則」の「リスト」を作成し、「リスト」の選択結果により、となりの「リスト」の内容を自動で変化させます、「入力規則のリストを、2段階の絞り込みで作成1」こちらのリストの縦横を入れ替えたパターンになります。入力規則のリストを、追加・削除に自動対応で作成一覧リストを使用して、「入力規則」の「リ…

上記の2段階の入力規則リストを、最新関数を使用して作成します。
使用する新関数は、以下になります。
XMATCH関数

・XMATCH関数の書式 ・従来のMATCH関数との違い ・一致モードの使い方 ・検索モードの使い方 ・XMATCH関数をスピルさせる ・XMATCHの応用例 ・スピルによって新しく追加された関数
DROP関数
DROP関数は、配列(またはセル範囲)の先頭または末尾から、指定した行数または列数を除外した配列(またはセル範囲)を返します。指定部分を除外するのではなく、指定部分を取得する場合はTAKE関数を使用します。DROP関数の構文 =DROP(配列,行,[列]) 引数「行」は必須になりますので、値を指定しなくても,
TRIMRANGE関数
・TRIMRANGE関数の構文 ・Trim References (Trim Refs):TRIMRANGE関数の糖衣構文(簡略記法) ・TRIMRANGE関数の使用例と解説

最新関数を使うことで、旧来の数式に比べて、かなり簡略化された数式になります。


シート構成サンプル

2段階の入力規則リスト作成:最新関数対応

2段階の入力規則リスト作成:最新関数対応

上掲の「リスト1」と「リスト2」は、縦向きと横向きの違いだけですが、縦横が違うので数式は違ってきます。
この2つのリストを使用して、以下の2段階の入力規則リストを作成します。

2段階の入力規則リスト作成:最新関数対応


入力規則の作成


2段階の入力規則リスト作成:最新関数対応

2段階の入力規則リスト作成:最新関数対応

この「元の値」にいれる数式を作成します。

「リスト1」を使用

部署の数式
=TRIMRANGE(リスト1!1:1)
数式の解説
リスト1シートの1行目から、値が入っている部分だけを取り出します。

リスト1!1:1
リスト1シートの1行目すべて
TRIMRANGE
前後の空白セルを除外し、実データ範囲だけ返す
「Trim Refs」で記述しても良い。
=TRIMRANGE(リスト1!1.:.1)

氏名の数式
=DROP(TRIMRANGE(INDEX(リスト1!1:1048576,,XMATCH(A2,リスト1!1:1))),1)
数式の解説
A2で指定した列見出しの列データを、見出しを除いて取得する。
  1. XMATCH(A2, リスト1!1:1)
    A2の値が、リスト1の1行目(見出し行)の何列目かを取得
  2. INDEX(リスト1!1:1048576,, 列番号)
    見つかった列の列全体を取り出す
  3. TRIMRANGE(...)
    上下の空白セルを除外し、実データ範囲だけにする
  4. DROP(..., 1)
    先頭1行(=見出し)を削除

「リスト2」を使用

部署の数式
=TRIMRANGE(リスト2!A:A)
数式の解説
リスト2シートのA列から、値が入っている部分だけを取り出す。

リスト2!A:A
リスト2シートのA列全体
TRIMRANGE
上下の空白セルを除外し、実データ範囲だけ返す

氏名の数式
=DROP(TRIMRANGE(INDEX(リスト2!1:1048576,XMATCH(J2,リスト2!F:F),0)),,1)
数式の解説
F列で J2 に一致する行を探し、その行のデータを、先頭列を除いて取得する。
  1. XMATCH(J2, リスト2!F:F)
    J2の値が、F列の何行目にあるかを取得
  2. INDEX(リスト2!1:1048576, 行番号, 0)
    見つかった行全体を取り出す(列0=全列)
  3. TRIMRANGE(...)
    左右の空白セルを除外し、実データ部分だけにする
  4. DROP(...,,1)
    左端の1列を削除




同じテーマ「エクセル関数応用」の記事

セル参照を戻り値とする関数
REDUCE+VSTACKが遅い理由と解決策
HSTACKは速い?遅い?実際に試してみた結果
条件付きMEDIAN関数を作る|LAMBDA関数で汎用〇〇IFSを実現
複数列の直積(デカルト積、クロスジョイン)
フィボナッチ、トリボナッチ、テトラナッチ数列を1数式で作成
表データから複数条件による複合抽出 (横AND/縦OR)
配列を自在に回転させる数式
掛け算(*)を使わない掛け算|足し算(+)を使わない足し算
2段階の入力規則リスト作成:最新関数対応
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ