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))&""


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




5/07/2026

Excelのショートカットキー。CtrlとShift+Aなどの組み合わせを紹介【shortcut】

Excelのショートカットキー。CtrlとShift+Aなどの組み合わせを紹介

<ショートカットキー>

作業効率もUPする、知っていると便利なショートカットキー。

ショートカットキー

Ctrl+Shift+A

数式でカーソルが関数名の右にあるときに、引数名とかっこを挿入する。


Ctrl+Shift+C

図形などオブジェクトの書式をコピーする


Ctrl+Shift+F

セルのフォント設定ダイアログ ボックスを開く


Ctrl+Shift+G

ブックの統計情報 ダイアログ ボックスを開く


5/06/2026

Excel。SMALL関数は指定した○番目に小さい値を算出します。【small】

Excel。SMALL関数は指定した○番目に小さい値を算出します。

<関数辞典:SMALL関数>

SMALL関数

読み方: スモール  

分類: 統計 

SMALL関数

SMALL(配列,順位)

指定した○番目に小さい値を算出します 

5/05/2026

Excel。縦棒グラフの横軸を互い違いにしたい【Horizontal axis】

Excel。縦棒グラフの横軸を互い違いにしたい

<縦棒グラフ>

縦棒グラフをつくってみたところ、横軸の文字が長くて、とても読みにくい状態になってしまいました。

 


グラフの高さを伸ばせば、横軸の項目名は斜めで表示されます。


ですが、グラフ自体が大きくなることと、斜めは読みにくくなることが多いという欠点があります。


そこで、項目名を互い違いすることができないのでしょうか。


少し工夫することで横軸の項目を互い違いにすることができますので、その方法をご紹介します。


まずは、表ですが、ここにポイントがあります。


A1:C11に元の表があります。

B1:C11を範囲選択してグラフをつくると、互い違いにすることができません。


そこで、E1:F11のように互い違いにするための表をつくります。


E2には、

=IF(MOD(ROW()+1,2),B2,CHAR(10)&B2)

という数式を設定します。


これで、互い違いにすることができます。


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


IF関数です。


論理式には、MOD(ROW()+1,2)

MOD関数は、除算した余りを求めることができます。


ROW関数は、行番号を求めることができます。


行番号に+1した値を、2で除算した余りを求めるのが論理式です。


ちょっとわかりにくいので、H列に論理式をつくってみました。


結果は、1と0が表示されています。


Excelは1をTRUE。

すなわち真の場合。


0をFALSE。

すなわち偽の場合。


と求めることができます。

なので、

MOD(ROW()+1,2)=1と論理式はしていないわけです。


真の場合は、B2 をそのまま表示します。


偽の場合は、CHAR(10)&B2 とします。


CHAR(10)は、改行という意味なので、改行したB2という結果になります。


E列は、改行が入っているようにみえませんが、CHAR(10)があれば、改行が追加されています。


データができましたので、グラフをつくります。


E1:F11を範囲選択して、挿入タブのグラフから集合縦棒グラフを選びます。


集合縦棒グラフが挿入されます。


横軸の項目名が斜めになってしまっていますので、グラフの横を広げるなどして、サイズを大きくします。


これで、横軸の項目名が互い違いにすることができました。


表を準備するのが、面倒かもしれませんが、この方法をつかうことで、横軸の項目名を斜めにしないですみます。

5/04/2026

Excel。2026/3/29-4/4にTEXT関数など関数について紹介したFacebookページのコメントです。【comment】

Excel。2026/3/29-4/4にTEXT関数など関数について紹介したFacebookページのコメントです。

<Facebookページ>

Facebookページに書いた、Excelの豆知識(Trivia)です。

Facebookページ

3月29日

Excel。concat関数は文字列と文字列を結合する関数です。ちなみに&と同じです。


3月30日

Excel。substitute関数は文字列内の特定文字を置換する関数です。ちなみに㈱⇒株式会社などできちゃいます。


3月31日

Excel。formulatext関数は数式を文字列化する関数です。


4月1日

Excel。text関数は文字列に表示形式を設定する関数です。


4月2日

Excel。convert関数は単位を変換する関数です。ちなみにヤードをメートル変換したりします。


4月3日

Excel。fv関数はローンの返済残高算出関数です。


4月4日

Excel。pv関数は現在価値を求める関数です。ちなみに定期積立預金などで使います。

5/03/2026

Excel。回帰直線の傾きを算出するのがSLOPE関数です。【SLOPE】

Excel。回帰直線の傾きを算出するのがSLOPE関数です。

<関数辞典:SLOPE関数>

SLOPE関数

読み方: スロープ  

分類: 統計 

SLOPE関数

SLOPE(既知のy,既知のx)

回帰直線の傾きを算出する

5/02/2026

Access。クエリ。住所から都道府県を抽出するにはどうしたらいい【prefectures】

Access。クエリ。住所から都道府県を抽出するにはどうしたらいい

<Access>

住所フィールドには、都道府県名から建物名まで入力されているデータなので、都道府県をそのデータから抽出したい場合、Accessでは、どのようにしたらいいのでしょうか。


Excelの場合は、IF関数をつかってもいいのですが、次の方法でも、住所から都道府県名を抽出することができます。


C列には住所が入力されています。D列に都道府県を抽出したので、D2に数式を設定します。


=LEFT(C2,(MID(C2,4,1)="県")+3)

数式を設定後、オートフィルで数式をコピーします。


これで、都道府県を抽出することができます。


そもそも、なんでこんな数式をつくらないといけないのかというと、4文字目県問題があるからです。


4文字目県問題とは、神奈川県・和歌山県・鹿児島県のことを指します。


この3件だけ、県が左から4文字目にあります。

ほかの県や北海道・東京都・大阪府・京都府はすべて左から3文字目が区切り位置になっています。


そのため、4文字目が県かどうかの判断が必要だというわけです。


この数式のポイントは、

MID(C2,4,1)="県"

左から4文字目が県だったら、TRUE。


そうでなければ、FALSEを返します。


ExcelではTRUEを1、FALSEを0と定義しています。


4文字目が県ならば1 その値に+3すれば4になります。

そして、LEFT関数をつかうことで、左から4文字目までを抽出するという数式をつくることができます。


これで、都道府県を抽出することができるわけですが、Accessではどのようにしたらいいのでしょうか。


AccessにはIIF関数が用意されていますが、今回紹介したLEFT+MID関数の組み合わせと同じようできるといいのですが。


Accessでの確認をしておきます。


T_都道府県というテーブルの住所フィールドから都道府県を抽出するクエリをつくります。


クエリデザインをつかいます。


Excelと同じ数式を演算フィールドでつくってみました。


都道府県: Left([住所],(Mid([住所],4,1)="県")+3)

実行してみます。


残念ながら、うまく抽出できません。


神奈川県が「神奈」というように、左から4文字目どころか2文字目までで抽出されていることがわかります。


なんでこのようになったのかを確認するために、引数内のMid関数だけの演算フィールドをつくって確認してみます。


Mid関数確認: (Mid([住所],4,1)="県")

実行してみます。

 


AccessではTRUEを「-1」と定義されているので、左から2文字目までしか抽出してくれなかったわけです。


ならば、「+1」となるように演算フィールドを修正すればいいわけです。

都道府県: Left([住所],((Mid([住所],4,1)="県")*-1)+3)

都道府県: Left([住所],((Mid([住所],4,1)="県")*-1)+3)

「-1」を「1」にしたいだけなので「*-1」とマイナス1をかけてあげればいいわけです。


では、実行してみましょう。 

これで、住所フィールドから都道府県名を抽出することができました。