7/25/2026

Access。クエリ。And+Or条件で抽出するなら、Excelだと大変です。【extraction】

Access。クエリ。And+Or条件で抽出するなら、Excelだと大変です。

<抽出>

Excelデータがあります。


品川店のA定食と横浜店のB定食だけに抽出するには、どうしたらいいでしょうか。


Excelのオートフィルターでは対応できません。


店舗名は、品川店と横浜店。商品名は、A定食とB定食


結果は、思っているように抽出できません。


品川店はA定食のみにしたいのに、品川店のB定食も抽出されてしまっています。


あくまでも、オートフィルターは、列内のOR条件の優先順が高く、そのあとにAND条件をおこなうからです。


そのため、Excelでは、データタブのフィルターの詳細設定を使う必要があります。

 


ただ、詳細設定をおこなうには、条件行を作る必要があります。


1行目に、見出し行をつくりD2:F3に抽出条件をつくり、フィルターオプションの設定ダイアログボックスを表示して、抽出させる必要があります。


あるいは、店舗名と商品名を結合した、店舗名商品名という列をつくり、つくった列をつかって抽出させる方法もあります。


ただ、列を増設しますので、ファイルサイズは大きくなりますし、結局作業をしなければなりません。


では、Accessのクエリならどうなるのでしょうか。


ExcelデータをAccessにインポートしています。


挿入のクエリデザインをつかって、クエリをつくります。


販売日と店舗名と商品名の列をつかいます。


抽出条件には、品川店でA定食

「または」には、横浜店でB定食

と設定します。


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


問題なく、品川店でA定食 と横浜店でB定食 だけを抽出することができました。


Accessは、Excelと異なった抽出ルールになっております。


場合によっては、Accessのほうが、抽出がスムーズになるかもしれません。


7/24/2026

Excelのショートカットキー。Ctrl+Shiftとファンクションキーの組み合わせを紹介【shortcut】

Excelのショートカットキー。Ctrl+Shiftとファンクションキーの組み合わせを紹介

<ショートカットキー>

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

Excelのショートカットキー

Ctrl+Shift+F1

ウィンドウを最大化してリボンを含め上部を非表示にする



Ctrl+Shift+F2

コメントをセルに追加



Ctrl+Shift+F3

選択範囲から名前を作成ダイアログボックスが表示されます



Ctrl+Shift+F6

アクティブブックの前のブックに移動する。



Ctrl+Shift+F12

印刷プレビューを表示 Ctrl+Pと同じ

7/23/2026

Excel。T関数は文字列を抽出します。【T】

Excel。T関数は文字列を抽出します。

<関数辞典:T関数>

T関数

読み方: ティー  

分類: 文字列操作 

T関数

T(値)

文字列を抽出する 

7/22/2026

Excel。1行おきの数値を合計するには、FILTER関数を使うと便利です。【Every other line】

Excel。1行おきの数値を合計するには、FILTER関数を使うと便利です。

<SUM+FILTER+MOD+ROW関数>

次のような表があります。

=SUM(FILTER(B2:B7, MOD(ROW(B2:B7),2)=0))

やりたいことは、1Fと2Fの金額合計を求めたいわけです。


つまり、1行おきで合算したい。


A列が1F販売金額となっていれば、SUMIF関数をつかうことで、合計を求めることもできます。


ただ今回の表は、2024年という文字列があって、2025年2026年という文字列もついています。


つまり、同じ条件でというわけにはいきません。


A列から、色々作業をしなければいけません。


では、何かいい方法はないのでしょうか。


以前は、SUMPRODUCT関数をつかって求めていましたが、FILTER関数をつかう方法で、求めてみようと思います。


E2には、FILTER関数をつかった数式を設定しました。

=SUM(FILTER(B2:B7, MOD(ROW(B2:B7),2)=0))

これで、1Fの金額合計を求めることができました。

2Fの数式は、

=SUM(FILTER(B2:B7, MOD(ROW(B2:B7),2)=1))

という数式で求められます。


数式を説明します。


SUM関数の引数の中から説明するとわかりやすいので、まずはFILTER関数から説明します。


FILTER関数は、抽出する関数です。


FILTER関数の最初の引数は、「配列」。


範囲のことなので、B2:B7を設定します。


次の引数は、「含む」。


抽出条件です。


その抽出条件には、MOD(ROW(B2:B7),2)=0

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


MOD+ROW関数は、そのセルが偶数行なのか、奇数行なのかを判断するときに使う方法です。


MOD関数は、割った余りを求める関数です。

ROW関数は、セルの行番号を求める関数です。


つまり「セルの行番号を2で割った値が、ゼロ」というのが抽出条件になるというわけです。


これで、偶数行なのか奇数行なのか、わかります。偶数奇数ですから、一行おきが対象になるという仕組みです。


あとはSUM関数で合計する。


このように、FILTER関数をつかうことで、一行おきを対象にした合計を求めることができます。

7/21/2026

Excel。2026/6/7-6/13にCHOOSE関数など関数について紹介したFacebookページのコメントです。【comment】

Excel。2026/6/7-6/13にCHOOSE関数など関数について紹介したFacebookページのコメントです。

<Facebookページ>

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

Facebookページ

6月7日

Excel。

CHITEST関数

読み方は、カイテストで、カイ二乗検定の上側確率を算出します



6月8日

Excel。

CHOOSE関数

読み方は、チューズで、引数リストの何番目かの値を抽出します



6月9日

Excel。

CLEAN関数

読み方は、クリーンで、文字列中に含まれる制御文字を取り除くします



6月10日

Excel。

CODE関数

読み方は、コードで、文字を文字コードに変換するします



6月11日

Excel。

COLUMN関数

読み方は、カラムで、セルの列番号を算出します



6月12日

Excel。

COLUMNS関数

読み方は、カラムズで、セル範囲の列数を算出します



6月13日

Excel。

COMBIN関数

読み方は、コンビネーションで、組み合わせの数を算出します

7/20/2026

Excel。SYD関数は減価償却費を算術級数法で算出しますが…日本では…【SYD】

Excel。SYD関数は減価償却費を算術級数法で算出しますが…日本では…

<関数辞典:SYD関数>

SYD関数

読み方: エスワイディー  

読み方: サムオブイヤーズディジット

分類: 財務 

SYD関数

SYD(取得価額,残存価額,耐用年数,期)

減価償却費を算術級数法で算出します(日本では利用が認められてない)

Sum of Year's Digit depreciationの略


7/19/2026

Access。クエリ。品川店と横浜店の売上金額合計を求めるにはExcelよりいいかも。

Access。クエリ。品川店と横浜店の売上金額合計を求めるにはExcelよりいいかも。

<Sum+IIf関数>

店舗名が品川店と横浜店の合計金額を求めたい場合、SUMIF関数一つだけではもとめることができません。


もし、SUMIF関数をつかう場合で、わかりやすくという前提ならば、次のような数式をつくります。

=SUMIF(D2:D169,"品川店",I2:I169)+SUMIF(D2:D169,"横浜店",I2:I169)

=SUMIF(D2:D169,"品川店",I2:I169)+SUMIF(D2:D169,"横浜店",I2:I169)


なんで、SUMIF関数が2つあるのかというと、2つめの引数の「検索条件」がOR条件に対応していないからです。


またOR関数をつかった数式に変えてみます。

=SUMIF(D2:D169,OR("品川店","横浜店"),I2:I169)


これだと、0になってしまいました。


原因は、先ほども紹介したように、検索条件にOR関数を使ったからです。


SUMPRODUCT関数をつかうなど、対応方法はありますが、算出するのはちょっと面倒です。


では、Accessのクエリだったらどうなるのでしょうか。


Accessのクエリデザインをつかって、演算フィールドをつくってみます。

合計金額: Sum(IIf([店舗名] In ("品川店","横浜店"),[金額],0))

テーブルは、Excelのでーたをインポートしています。


クエリデザインで演算フィールドをつくります。


そして、クエリデザインタブの集計ボタンをおして、集計行を表示します。


合計金額: Sum(IIf([店舗名] In ("品川店","横浜店"),[金額],0))


集計行には、演算 と設定します。


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


Excelで求めた値と同じ結果であることが確認できました。


では、演算フィールドを確認しておきましょう。


合計金額: Sum(IIf([店舗名] In ("品川店","横浜店"),[金額],0))


Sum関数は合算する関数です。

何を合算するのかというと、IIf関数で合致しているものです。


IIf([店舗名] In ("品川店","横浜店"),[金額],0) は、

もし、店舗名が、品川店または横浜店だったら金額フィールドをつかって、そうでなければ0をつかうという条件式なので、品川店と横浜店ならば、金額を足すことができるというわけです。


単純ですが、OR条件の合計の場合、Accessのクエリという方法もアリなのかもしれません。