CHOOSECOLS×MATCHで列を動的に抽出する方法②

実務(Practical Workflow Series)

横に広い売上表から必要な列を抽出する方法②|CHOOSECOLS×MATCHで列を動的に抽出する方法と、行と列を同時に“動的抽出”できると実務の検索作業が一気に安定する理由

前回の記事(CHOOSECOLSで特定の列だけ抜き出す|横に広い売上表から必要な列を抽出する方法)では、
「列番号を固定して抽出する」という最短ロジックを扱いました。

しかし実務では、
列の順番が毎回変わるデータが多く、
固定の列番号では壊れるという弱点があります。

たとえば店舗が10店舗ならまだしも、
これが200店舗だったらどうでしょう。
一列ずつ「何列目かな?」と数えますか?
──現実的に不可能です。

ここまでは「1本目の限界」の話です。
ここから先は、その弱点を補完するロジックに入ります。

🧮問題|店舗コード「106」に該当する店舗の売上列だけを CHOOSECOLS ×MATCHで抽出

■ 問題
次の月次売上表から、セル「●●」に入力した店舗コードに該当する店舗の売上列だけを
CHOOSECOLS×MATCH を使って動的に抽出してください。

この表では、店舗コードの並び(104,103,108,109,106…)が毎回変わるため、
「何列目が目的の店舗か」を固定の列番号で指定すると壊れる可能性があります。

また、実務では店舗数が200店舗あるケースも多く、
目的の列番号を手作業で数えることは現実的に不可能です。

そのため、店舗コード行を検索キーとして使い、
MATCHで該当コードが存在する列番号を取得し、
CHOOSECOLSでその列だけを抽出してください。

🔍今回のポイント

・列番号を固定すると、店舗数が増えた瞬間にロジックが壊れる
・店舗コード行を MATCH で検索し、該当列番号を自動取得する
・CHOOSECOLS に MATCH の結果を渡すことで、目的の店舗列だけを抽出できる
・列が200列あっても「数える必要ゼロ」で壊れない
・毎月レイアウトが変わる売上表でも安定して使える

■ 作成の順番

① MATCH
 ・「店舗コード行」から検索したい店舗コードを探し、何列目かを返す
② CHOOSECOLS
 ・「売上表全体」から、MATCH が返した列番号だけを抽出する
 ・店舗コードの並びが変わっても、目的の店舗列だけを自動で取り出せる

■ 計算式

CHOOSECOLS(売上表全体, MATCH(検索する店舗コード, 店舗コード行, 0))

今回のまとめ

・前回のCHOOSECOLS単体は「列番号が分かっている前提」でしか使えない
・実務では列の並びが毎回変わるため、固定列番号はすぐ壊れる
・今回は店舗コードを検索キーにして列番号を自動取得するため、200列でも安定
・もちろん、文字列(名古屋店など)を検索キーにして同じ仕組みで抽出することも可能
・前回の基礎を“実務レベル”に引き上げるのが今回のCHOOSECOLS×MATCH

Excel無料テンプレート|基礎・実務で使えるダウンロードファイル集

この記事の講習問題は、無料ファイル倉庫からダウンロードして、
実際のExcelシート上で手を動かしながら理解を深めてください。
安心して使える学習用ファイルで、初心者でもそのまま再現できます。
Excelの実務ロジックが自然と身につく、無料の学習教材です。

講習問題では理解できたら、黄色のセルに入っている計算式を一度消して、実際に自分で入力してみてください。
計算式を消しても、メモ欄に保存してある式を貼り付ければ元の状態を復元できます。
練習と復元を繰り返すことで、計算式の構造が安定して身につきます

👉“横に広い表”

👇合わせて学習すると理解が深まります

このテーマは全3回構成で解説します。
1本目は列番号を指定する“静的な抽出”
2本目は店コードから列を自動判定する“動的抽出”(今ここ)、
3本目は INDEX/MATCH を使った“行列の動的抽出”を比較します。

URL(1本目):https://excel-restart-lab.com/2026/07/27/choosecols-column-extract/
URL(3本目) :https://excel-restart-lab.com/2026/07/29/indexmatch-dynamic-extract/
タイトルとURLをコピーしました