3/10/2022

Access。クエリ。手早く月別売上集計のクエリをつくるにはどうしたらいいの【Aggregate】

Access。クエリ。手早く月別売上集計のクエリをつくるにはどうしたらいいの

<Access:Format関数>

Accessのクエリで、月別の売上集計を算出したい場合、日付のデータから、演算フィールドをつかって、月を抽出します。

そして、抽出でつくったクエリから月ごとに集計するということをイメージすると思います。


しかしこの方法だと、複数のクエリをつくることになり、作業効率からみると、あまりいいとはいえません。


このような場合、Accessでは、Format関数をつかって、書式を設定することで、簡単に集計することができます。


用意したテーブルです。


販売日フィールドは、年月日の一般的な日付です。

月のフィールドは用意していないので、月別の集計をこのテーブルのままでは集計することができません。


では、Format関数をつかってクエリを作っていきましょう。


クエリは、作成タブの「クエリデザイン」をクリックして、デザインビューでつくります。


演算フィールドの購入月フィールドには、

購入月: Format([販売日],"m\月")

と設定します。


Format関数は、書式を変更することができる関数です。

今回は、「m」とすることで、「月」という表示するにことができます。


Excelだと、表示形式を変えても、元のデータが月に変わるわけではないので、月別集計をすることはできませんが、AccessのFormat関数をつかえば、見た目の表示同士で、グループ化することが、できます。


またmのうしろの「\月」は、Accessの表示形式です。


Accessは、「\」がExcelの「&」のように「\(円マーク)以降の文字」を表示させることができます。


Excelだと「"月"」とつけるのと同じです。


あとは、集計行を表示させる必要がありますので、クエリデザインタブにある「集計」をクリックして、集計行を表示させます。


Format関数をつかったフィールドは、グループ化します。

売上高は集計したいので、合計と設定します。


あとは実行して確認してみましょう。


月別に売上高を合算することができました。


Format関数をつかうことで、複数のクエリを使わずに、月別集計を算出したクエリをつくることができました。


このように、ExcelにはないAccessならではの関数がありますので、色々試してみるといいかもしれませんね。

3/09/2022

Excel関数辞典 VOL.60。PERMUT関数~PI関数【dictionary】

Excel関数辞典 VOL.60。PERMUT関数~PI関数

<Excel関数>

今回は、PERMUT関数~PI関数までをご紹介しております。

PERMUT関数

パーミュテーション

PERMUT(標本数,抜き取り数)

順序を区別して抜き出すときの順列を算出します



PERMUTATIONA関数

パーミュテーション・エー

PERMUTATIONA(数値,抜き取り数)

重複許可の順序を区分して抜き出すときの順列を算出します



PHI関数

ファイ

PHI(x)

標準正規分布の密度の値を算出します



PHONETIC関数

フォネティック

PHONETIC(参照)

文字列のフリガナ情報を取り出す



PI関数

パイ

PI()

円周率の数値を算出します

3/08/2022

Excel。ATANH関数は、数値の双曲線逆正接を算出します【ATANH】

Excel。ATANH関数は、数値の双曲線逆正接を算出します

<関数辞典:ATANH関数>

ATANH関数

読み方: ハイパーポリック アーク タンジェント  

分類: 数学/三角 

ATANH(数値)

ATANH関数

数値の双曲線逆正接を算出します 

3/07/2022

Excel。土日祝日を除いた予定表を手早く作りたいけど、どうしたらいい。【calendar】

Excel。土日祝日を除いた予定表を手早く作りたいけど、どうしたらいい。

<WORKDAY関数>

予定表を作るときに、日付を設定するわけですが、土日や祝日を除いた予定表を作りたいとしたら、どのようにしたらいいのでしょうか。


次の表があります。


A列に日付を入力しています。

土日祝日も含めたカレンダーになっているものを平日のみのカレンダーにしたいわけですね。


目視で確認して自力で削除することが多いと思いますが、作業自体は単純でも面倒です。

かといって、Excel VBAでつくるというのも面倒です。


このような場合、登場するのが「WORKDAY関数」です。


そして、このWORKDAY関数を作るとき、重要になるのが、E2:F5のような祝日一覧表です。


祝日を自動的にExcel側で判断することができないので、用意する必要があります。


では、土日祝日を除いた予定表を作っていきましょう。


A3の最小の日付は、そのまま「2022/5/1」と入力しています。


別のセルに年月日を用意しておいて、DATE関数で日付を作るというのもいいですね。


A4にWORKDAY関数で数式を設定します。

=WORKDAY(A3,1,$E$3:$E$5)


あとは、オートフィルで数式をコピーするだけです。

すると、土日祝日を除いた予定表。カレンダーをつくることができました。


では、=WORKDAY(A3,1,$E$3:$E$5)の引数を確認しておきましょう。

最初の引数は、開始日なので、最初の日付である、A3を設定します。


次の引数は、日数。開始日から「+1」すれば翌日になりますので、「1」と設定します。


最後の引数は、祭日。

これは祝日一覧の日付を設定しますので、「$E$3:$E$5」。

オートフィルで数式をコピーすることを考慮する必要があるので、絶対参照を忘れずに設定します。


なお、B列の曜日ですが、B2には、

=TEXT(A3,"aaa")

とTEXT関数をつかって、表示形式を日付から曜日に変更しています。


WEEKDAY関数をつかった曜日算出でもOKですし、セル参照して表示形式で変更してもOKですね。


また、土日ではなくて、水曜日など別の曜日の場合には、「WORKDAY.INTL関数」をつかうことで、対応することが可能です。


最後に運用上のポイントなのですが、日本の祝日は、俗にいうラッキーマンデーがあるので、祝日が固定されていない祝日が多くあります。


年がわかる・年度がかわるに連動して、この一覧を修正する必要があります。

年や年度をまたぐことが想定される場合には、月日での管理よりも、年月日での管理運用をおススメします。


日付関係の関数も色々ありますので、確認してみると作業効率を改善できる関数を見つけることが出来るかもしれませんね。

3/06/2022

Excel。今週のFacebookページの投稿 2022/2/28-2022/3/6【Trivia】

Excel。今週のFacebookページの投稿 2022/2/28-2022/3/6

<Facebookページ>

Facebookページで【書いてみた】Excelの豆知識(Trivia)です。

2月27日

Excel。ADDRESS関数。

読み方は、アドレスで、行番号・列番号をセル参照に変換します。



2月28日

Excel。AGGREGATE関数。

読み方は、アグリゲイトで、19種類の集計方法で小計を算出します。



3月1日

Excel。AMORDEGRC関数。

読み方は、アモーデグアールシーで、フランス方式の減価償却費を定率法で算出します。



3月2日

Excel。AMORLINC関数。

読み方は、アモーリンクで、フランス方式の減価償却費を定額法で算出します。



3月3日

Excel。AND関数。

読み方は、アンドで、複数の条件をすべて満たすかどうかを調べます。



3月4日

Excel。ARABIC関数。

読み方は、アラビックで、ローマ数字をアラビア数字に変換します。



3月5日

Excel。AREAS関数。

読み方は、エリアズで、範囲や名前の範囲に含まれる領域の数を算出します。

3/05/2022

Excel。ATAN2関数は、X-Y座標値から 逆正接を算出します【ATAN2】

Excel。ATAN2関数は、X-Y座標値から 逆正接を算出します

<関数辞典:ATAN2関数>

ATAN2関数

読み方: アーク タンジェント・ツー  

分類: 数学/三角 

ATAN2(x座標,y座標)


X-Y座標値から 逆正接(アークタンジェント)を算出します 

3/04/2022

Excel。一部の文字が含まれているデータの合計を手早く算出したい【characters】

Excel。一部の文字が含まれているデータの合計を手早く算出したい

<SUMIF関数+ワイルドカード>

商品名に「定食」と定食が含まれている商品の合計を算出したい場合、どのようにしたらいいのでしょか?


次の表を用意してみました。


 

条件付きで合算する場合には、単一条件ならば、SUMIF関数。

複数条件ならばSUMIFS関数をつかうわけですが、検索条件が、「完全一致」でなければ、算出対象にはなりません。


B列の商品名をみると、「定食」という文字が入っている商品は、「A定食」「B定食」「A定食コーヒー付き」の3つあります。


出来れば、「分類」のような列に「定食」と入力されていれば、SUMIF関数で簡単に算出することができますが、この表にはありません。


「定食」という文字が含まれているものを算出したい場合には、「ワイルドカード」をつかうことで、手早く算出することができます。


F1に数式を設定します。

=SUMIF(B2:B11,"*"&E1&"*",C2:C11)


この数式で算出したのが、F1です。


SUMIF関数の引数で、ポイントになるのが、「検索条件」です。

最初の引数の「範囲」は、次の引数の「検索条件」が含まれているところになりますので、「B2:B11」。

今回は、オートフィルで数式をコピーする必要がないので、絶対参照は不要です。


2つ目の引数が、ポイントの「検索条件」です。

含まれるという条件にしたいので、ワイルドカードを、部分一致する文字を前後で囲みます。


よって、「検索条件」は「"*"&E1&"*"」とします。


E1には、「定食」という文字が入力されているので、それを使用していますが、「ワイルドカード」の「*(アスタリスク)」をE1の前後につけることで、「含まれる」という条件にすることができます。


注意点は「*(ワイルドカード)」を「”(ダブルコーテーション)」で囲む必要があります。

また、文字結合しますので、「&(アンパサンド)」をつかって接続します。


最後の引数は、「合計範囲」なので、「C2:C11」を設定します。


SUMIF関数など、検索条件がある数式の引数に、ワイルドカードを合わせてつかうことで、その文字を含むというような条件にすることができます。