ラベル choosecols関数 の投稿を表示しています。 すべての投稿を表示
ラベル choosecols関数 の投稿を表示しています。 すべての投稿を表示

5/08/2026

Excel。表から必要な列だけを抽出したい【Extract columns】

Excel。表から必要な列だけを抽出したい

<CHOOSECOLS+XMATCH関数>

オートフィルターなどをつかうことで、データ(レコード)を抽出することは、Excelでは簡単におこなうことができます。


では、列を抽出したい場合には、どのようにしたらいいのでしょうか。


次の表を用意しました。

A1:F5までの表があります。


その中から、時限・月曜日・水曜日・木曜日の列だけの表をつくりたい。


要するに、抽出したいわけです。


少なければ、コピペで対応してもいいですが、列数が多い。またデータ内容が変わることもあれば、コピペというわけにはいきません。


そこで、CHOOSECOLS関数とXMATCH関数を組み合わすことで対応することができます。


その結果が、A8:D13の表です。


A9:D9に抽出したい見出しを先に用意します。


そして、数式をA10に設定します。


先に、ネストのXMATCH関数から確認します。


XMATCH関数は、MATCH関数の進化系の関数です。

データがあれば、その位置を教えてくれる関数です。


XMATCH関数の最初の引数は「検索値」

A9:D9の見出し名が該当します。


2つ目の引数は、「検索範囲」。

先ほどの検索値のデータがどこにあるのかを調べさせるので、A1:F1を選択します。


どのようになっているのか、XMATCH関数の部分だけ確認してみましょう。


A8に

=XMATCH(A9:D9,A1:F1)

と数式を設定しました。時限は1列目に、水曜日は、4列目にあるということがわかりました。


XMATCH関数は、MATCH関数と異なり完全一致が初期設定になっています。

そのため、3つ目・4つ目の引数を設定しなくても大丈夫です。


ここまでで、XMATCH関数の動きは確認できましたのCHOOSECOLS関数の確認へとうつりましょう。


CHOOSECOLS関数は、配列から列を抽出する関数です。

配列は表なので、A2:F5が対象になります。見出しは用意してありますので、A2が始点です。


CHOOSECOLS関数の最初の引数は「配列」。A2:F5を範囲選択します。

2つ目以降の引数は、列番号を設定します。


XMATCH関数をつかうことで、列番号を求めることができますので、ここにXMATCH関数を設定します。


数式を設定して確認してみましょう。


スピル機能に対応した関数なので、ゴーストが発生して、数式をコピーしたような状態になるので、列単位での抽出ができました。


ところが、気になるところがあります。それは、D10の0。


なんで、0(ゼロ)が表示されているのかというと、元のセルは、E2なのですが、空白になっています。表引きすると空白ではなくて、0を表示してしまいます。


0ではなく空白にしたいので、「&””」を数式に追加することで、0を消すことができます。


改めてですが、A10に設定する数式は、

=CHOOSECOLS(A2:F5,XMATCH(A9:D9,A1:F1))&""


これで、列単位での抽出ができました。




7/10/2025

Excel。大きな表から、必要な列だけ集めた別表をつくるに、楽な方法は無いのかな

Excel。大きな表から、必要な列だけ集めた別表をつくるに、楽な方法は無いのかな

<CHOOSECOLS関数>

大きな表から必要な列だけを抽出した別表をつくるとなると、コピーで貼り付けという作業は、ただただ、面倒な作業だといえます。


用意したA1:H5の表は、飛び飛びに月別の売上の列が用意されています。


この表から、売上だけを抽出したA7:E11までの表をつくりたいわけです。


この程度の列数ならば、コピー&ペーストで解決できますが、列数が増えれば面倒です。


また、数式だった場合は、#REF!というエラーが表示される場合もあります。


値で貼り付けをつかうとしても、元の表で数値が変わった場合、抽出先のデータは、変わっていませんので、再度コピーする必要があります。


そこで、CHOOSECOLS関数をつかうことで、手早く抽出することができます。

CHOOSECOLS関数

A8にCHOOSECOLS関数をつかって数式を設定します。


=CHOOSECOLS(A2:H5,1,2,4,6,8)


これで、売上の列だけを抽出した別表をつくることができました。


では、数式を確認しておきましょう。


CHOOSECOLS関数は、範囲から必要な列を抽出することができる関数です。


最初の引数が、array。

範囲選択なので、A2:H5を範囲選択します。


残りの引数は、範囲選択した中で、左から必要な列番号を設定するだけです。


これで、必要な列だけの別表をつくることができます。

8/13/2022

Excel。CHOOSECOLS関数は指定された列だけを含む配列を返します【CHOOSECOLS】

Excel。CHOOSECOLS関数は指定された列だけを含む配列を返します

<関数辞典:CHOOSECOLS関数>

CHOOSECOLS関数

読み方: チューズコルズ

読み方: チューズカラムズ


分類: 検索/行列 

CHOOSECOLS関数


CHOOSECOLS(array,col_num1,[col_num2],…)

指定された列だけを含む配列を返します 

4/26/2022

Excel。CHOOSECOLS関数は好きな列データを抽出できるので便利です。【CHOOSECOLS】

Excel。CHOOSECOLS関数は好きな列データを抽出できるので便利です。

<CHOOSECOLS関数>

2022年3月に追加された、「CHOOSECOLS関数」。

なんで今までいなかったの?といえるほど、便利な関数が追加されました。


次のデータで説明します。

CHOOSECOLS関数

A1:G6には、店舗別の年度別になった来店客数と売上高のデータがあります。


このデータから、売上高の列だけをA8:D13のように、まとめたい場合、イチイチCtrlキーをつかい範囲選択して、コピーするという方法を取りますが、データ量が多かったり列数が多かったりすれば、とても面倒な処理になります。


このためだけに、Excel VBAでプログラムをつくるというのも面倒です。


そこで、新しく登場した「CHOOSECOLS関数」をつかえば、手早く抽出したデータの表をつくることができます。


A8には、次の数式を設定します。

=CHOOSECOLS(A1:G6,1,3,5,7)


あとは、スピル機能によって、勝手に数式がコピーされますので、一列置きにデータを抽出することができました。


CHOOSECOLS関数の引数は、

CHOOSECOLS(array,col_num1,[col_num2],…)

arrayは、配列=範囲で、col_numは範囲の列番号ということで、とてもわかりやすい関数ですね。

たぶん、読み方は、チューズカラムズ だと思いますが…。


なお、この関数は、現在、Office InsiderのMicorsoft365。

バージョン2203ベータチャネル版にしか、追加されていません。

おいおい、Micorsoft365のExcelにも追加されること思われます。