3/31/2022

Access。クエリ。日付を元号表示にするにはどうしたらいいの【Era】

Access。クエリ。日付を元号表示にするにはどうしたらいいの

<Access>

Excelで、日付をグレゴリオ暦から元号で表示するには、表示形式をつかうことで、設定することができますが、Accessでは、どのようにしたらいいのでしょうか?


次のテーブルをつかって、確認していきます。


作成タブのクエリデザインで、次のように設定しました。


まずは、実行して、データシートビューで確認してみます。


このように、元号で表示することができました。


Excelのセルの書式設定ダイアログボックスをつかうようなことはできませんので、Accessのクエリの場合は、Format関数をつかった演算フィールドをつくります。


元号: Format([販売日],"gggee\年m\月d\日")


Format関数は、表示形式を設定する関数なのですが、問題となるのが、元号の表示形式です。


「gggee\年m\月d\日」

Excelになれていると、違和感があります。


Excelで、日付を元号で表示する場合は、

「ggge"年"m"月"d"日"」と設定します


比べてみるとわかるのですが、「gggee」と「e」がAccessのほうが多いことがわかります。


そして、Excelだと、「年・月・日」をそれぞれ「”(ダブルコーテーション)」で囲むことで、表示することができますが、Accessだと、「\」と「\」の次も文字を表示するルールになっています。

そのため、「\年」のように設定する必要があるわけです。


このように、表示形式のルールが、ExcelとAccessで微妙に異なっています。

Excelになれていると、どうしても「\”日”」とやってしまいがちですので、注意する必要があります。

3/30/2022

Excel。CORREL関数をつかえば、2つのデータ間の相関係数を算出できます【function:CORREL】

Excel。CORREL関数をつかえば、2つのデータ間の相関係数を算出できます

<CORREL関数>

来客数と売上高など、2項目の関連の度合いを知ることで、次の一手を打つための資料になるわけですが、ExcelのCORREL関数をつかうことで、簡単に、「相関係数」を算出することができます。


次のデータでみてみましょう。


B列には、来店数。

C列には、売上高。

この2つのデータ間には、関係性が強いのか弱いのかを知るのが、相関係数です。

F1には、CORREL関数をつかい、相関係数を算出してあります。


F1の数式は、

=CORREL(B2:B6,C2:C6)


算出された値は、0.91…となっています。

相関係数は「1」に近いほど、正の関係性が強いといわれていますので、この2つのデータ間には、何らかの関係がありそうということが数値として知ることができました。


逆に、「0」に近ければ、関係性は弱いというか、薄いといえるわけです。


では、CORREL関数の基本情報を確認しておきましょう。

CORREL関数の読み方は「コーレル」です。

所属は、「統計」です。

CORREL関数の引数は、

CORREL(配列1,配列2)

3/29/2022

Excel。BASE関数は、10進数をn進数に変換します。【BASE】

Excel。BASE関数は、10進数をn進数に変換します。

<関数辞典:BASE関数>

BASE関数

読み方: ベース  

分類: 数学/三角 

BASE(数値,基数,[最小長])

10進数をn進数に変換する 

3/28/2022

Excel。平均値で色分けした背景の集合縦棒グラフをつくりたい【Column chart】

Excel。平均値で色分けした背景の集合縦棒グラフをつくりたい

<集合縦棒>

平均値を越えているのかを視覚的にわかりやすくしたいので、集合縦棒の背景である、プロットエリアを塗り分けたいけど、どのようにしたらいいのでしょうか?


プロットエリアの塗り分けには、「積み上げ面グラフ」をつかうことで対応することができます。


希望するグラフをつくるには、そのグラフをつくるための表が必要になります。


このような表を用意しました。


B2:B5は、集合縦棒グラフのためのデータです。


C列のデータは、平均値を塗り分ける境界線とするので、B6で算出した値をセル参照したものです。


D列ですが、今回売上高が1000以下なので、グラフの縦軸を1000とすることにしました。

上限が1000なので、平均との差を算出したのが、D列というわけです。

C列の上にD列が積みあがっている面グラフをつくるわけですね。


A1:D5を範囲選択して、挿入タブのグラフにある「すべてのグラフを表示」ボタンをクリックします。


グラフの挿入ダイアログボックスが表示されます。


すべてのグラフタブにします。


「組み合わせ」を選択したら、「平均」と「1000-平均」を第2軸にチェックマークをオンにして、グラフの種類を「積み上げ面」に変更します。


設定が終了したら、OKボタンをクリックします。


グラフタイトルと凡例から「1000-平均」を削除して、グラフを少し大きくしております。


最初に修正していくのは、左右の縦軸です。

最大値がことなっているので、軸の書式設定作業ウィンドウの「軸のオプション」をつかって、最大値を「1000」に変更します。


次に、プロットエリアの積み上げ面グラフを修正していきます。

プロットエリア全体に塗りつぶしの範囲を広げていきます。


この修正の為には、積み上げ面グラフは「第2軸」に表示されているので、「第2軸」の横軸を表示させる必要があります。


グラフデザインタブの「グラフ要素を追加」にある「軸」から「第2横軸」をクリックします。


グラフ上部に第2横軸が表示されました。

グラフがおかしなことになっていますが、気にせず修正作業を続けていきます。


表示した「第2軸横(項目)軸」を選択して、軸の書式設定作業ウィンドウの「軸のオプション」にある、軸位置を「目盛」に変更します。


続いて、「第2軸縦(値)軸」をクリックします。


作業ウィンドウは、軸の書式設定作業ウィンドウのままに見えますが、第2軸の縦軸の設定に変わっています。


「軸のオプション」の「横軸との交点」を「自動」にオンにします。

プロットエリアは平均値を境に塗り分けることができました。


あとは、作業で使用した、第2軸の縦軸と横軸を処理していきましょう。


両縦軸とも、フォントサイズが小さいので見にくくなっています。

フォントサイズを調整して、200置きに修正します。


第2軸縦(値)軸はクリックしたら、DELキーを押すだけで、非表示にできます。


第2軸横(項目)軸は、DELキーで削除すると、せっかく「積み上げ面グラフ」がプロットエリア全体に広がったのに、元に戻ってしまうので、非表示の作業を行います。


第2軸横(項目)軸をクリックします。


軸の書式設定作業ウィンドウは、「第2軸横(項目)軸」に対応した状態に変わりましたので、軸のオプションの目盛にある「目盛の種類」を「なし」。


ラベルのラベルの位置を「なし」に設定することで、第2軸横(項目)軸を非表示にすることができます。


あとは、横軸のフォントサイズを調整し、プロットエリアの「積み上げ面グラフ」の色を調整したら、完成です。

3/27/2022

Excel。今週のFacebookページの投稿 2022/3/21-2022/3/27【Trivia】

Excel。今週のFacebookページの投稿 2022/3/21-2022/3/27

<Facebookページ>

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

3月21日

Excel。BESSELJ関数。

読み方は、ベッセルジェイで、第1種ベッセル関数Jn(X)の値を算出します



3月22日

Excel。BESSELK関数。

読み方は、ベッセルケイで、第2種変形ベッセル関数Kn(X)の値を算出します



3月23日

Excel。BESSELY関数。

読み方は、ベッセルワイで、第2種ベッセル関数Yn(X)の値を算出します



3月24日

Excel。BETADIST関数。

読み方は、ベータディストで、ベータ分布の累積確率を算出します



3月25日

Excel。BETA.DIST関数。

読み方は、ベータ・ディストで、ベータ分布の累積確率を算出します



3月26日

Excel。BETAINV関数。

読み方は、ベータインバースで、累積確率からベータ分布の値を逆算します



3月27日

Excel。BETA.INV関数。

読み方は、ベータ・インバースで、累積確率からベータ分布の値を逆算します

3/26/2022

Excel。BAHTTEXT関数はバーツ書式を設定した文字列に変換します【BAHTTEXT】 

Excel。BAHTTEXT関数はバーツ書式を設定した文字列に変換します

<関数辞典:BAHTTEXT関数>

BAHTTEXT関数

読み方: バーツテキスト  

分類: 文字列操作 

BAHTTEXT(数値)

BAHTTEXT関数

数値を四捨五入して、バーツ書式を設定した文字列に変換する

3/25/2022

Excel。VLOOKUP関数を使わずに多分岐はLOOKUP関数で手早く算出できます。【Multi-branch】

Excel。VLOOKUP関数を使わずに多分岐はLOOKUP関数で手早く算出できます。

<LOOKUP関数>

多分岐の処理をExcelで行うには、IF+IF関数のネスト。

IFS関数。

VLOOKUP関数やXLOOKUP関数など、様々な方法があります。


一番やりやすい、わかりやすい方法で処理するのがいいわけですが、意外とLOOKUP関数でも算出することができます。


次の表を用意しています。


E列に合計点によってA~E判定を行いたいわけです。


VLOOKUP関数などで求める場合と同じように、事前にG1:H6の判定表を用意しております。

なお、このような判定表は、昇順で作る必要があります。

降順で作成するとうまくいきません。


基本的には、IF+IF関数のネストで数式をつくると、判定表のような別表を用意しなくてすみますが、ネストが多くなり、可読性も悪くなってしまいます。


IF関数で数式をつくってみると、

=IF(D2>=160,"A",IF(D2>=140,"B",IF(D2>=120,"C",IF(D2>=80,"D","E"))))

やはり、かなり長いですね。


VLOOKUP関数で算出しようとすれば、E2の数式は、次のようになります。

=VLOOKUP(D2,$G$2:$H$6,2,TRUE)

4番目の引数をTRUEで設定することで、近似値の算出をおこなうことができるので、判定を算出できるわけです。


また、XLOOKUP関数をつかった数式だと、

=XLOOKUP(D2:D11,G2:G6,H2:H6,,-1,1)

スピル機能をつかうので、引数の検索値は、D2:D11という範囲で設定します。


XLOOKUP関数は、引数が多いですが、細かい設定ができるのも特徴ですね。



そこで、LOOKUP関数ならどうなるのでしょうか?


 

E2に次の数式を設定します。

=LOOKUP(D2:D11,G2:H6)

たったこれだけです。


列番号もなければ、検索方法もありません。


LOOKUP関数の配列方式で、手早く算出することができます。


引数を確認しておきます。

検索値は、D2:D11。スピル機能をつかうので、一つのセルではなく、範囲選択で設定することができます。


二つ目の引数の配列には、G2:H6。

判定表の見出し行を除いたデータ部を範囲選択します。

絶対参照する必要もありません。


これで、算出することができました。


多分岐は、色々な方法で算出することができますが、LOOKUP関数という方法もありますので、使いやすいものをつかってみるといいかもしれませんね。

3/24/2022

Excel関数辞典 VOL.61。PMT関数~PPMT関数【dictionary】

Excel関数辞典 VOL.61。PMT関数~PPMT関数

<Excel関数>

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

PMT関数

ピーエムティー

ペイメント

PMT(利率,期間,現在価値,[将来価値],[支払期日])

ローンや投資の定期支払額を算出します



POISSON関数

ポワソン

POISSON(イベント数,平均,関数形式)

ポワソン分布の確率を算出します



POISSON.DIST関数

ポワソン・ディスト

ポワソン・ディストリビューション

POISSON.DIST(イベント数,平均,関数形式)

ポワソン分布の確率を算出します



POWER関数

パワー

POWER(数値,指数)

数値のべき乗を算出する



PPMT関数

ピーピーエムティー

プリンシプルペイメント

PPMT(利率,期,期間,現在価値,[将来価値],[支払期日])

元利均等返済における指定期間の元金返済額を算出する

3/23/2022

Excel。AVERAGEIFS関数は複数条件付きで数値の平均値を算出します【AVERAGEIFS】

Excel。AVERAGEIFS関数は複数条件付きで数値の平均値を算出します

<関数辞典:AVERAGEIFS関数>

AVERAGEIFS関数

読み方: アベレージ・イフズ  アベレージ・イフ・エス

分類: 統計 

AVERAGEIFS(平均対象範囲,条件範囲1,条件1,…)

AVERAGEIFS関数

複数条件付きで数値の平均値を算出します 

3/22/2022

Excel。エラー表示をやめたいなら、IFERROR関数が重宝します。【ERROR】

Excel。エラー表示をやめたいなら、IFERROR関数が重宝します。

<IFERROR関数>

見積書や請求書などで、使用するVLOOKUP関数。

ミスを抑制することもできるので、とても重宝する関数なのですが、検索値が見つからない、あるいは、空白だったりすると、「#N/A」(ノーアサイン)というエラーを表示してしまいます。


エラーが表示されたら、数式を削除して、また必要になったら、オートフィルで数式をコピーする。

または、一から数式を作成するのでは、時間がかかってしまいます。


かといって、エラーを表示したまま印刷するわけにもいきません。


そこで、エラーを表示させないように、関数をつかって対応していきます。


エラーを表示しないようにするには、概ね2パターンあります。


ひとつは、「IF関数」をつかったパターン。

商品コードが空白というケースのように、検索値が空白だったら、エラーが表示されるので、エラーだったら空白とするようにIF関数をつかって設定する方法があります。

数式としては、

=IF(B4="","",VLOOKUP(B4,$H$4:$J$7,2,FALSE))

ですね。


そして、もうひとつが、「IFERROR関数」です。

今回はこちらのIFERROR関数をつかって紹介していきます。


このIFERROR関数は、エラーが表示されたらどうするのかを設定すればいいだけの関数なので、IF関数をつかったケースよりもわかりやすいかもしれません。


最初から、数式を作り直してもいいですが、VLOOKUP関数のような場合、引数が多いので、直接数式を修正するほうが、楽かもしれません。


数式を次のよう修正しました。

=IFERROR(VLOOKUP(B4,$H$4:$J$7,2,FALSE),"")


結果は次のようになりました。


C4には、エラーが表示されていないことが確認できました。


このように、IFERROR関数をつかったネストにすることで、手早くエラーが表示を防いだ数式に修正することができました。


IFERROR関数の引数は、IF関数の場合と異なり、数式があって、その数式の算出結果がエラーだったらどのように表示するのかを設定します。


エラーの場合の値を、空白にするので「””(ダブルコーテーション×2)」で対応しています。


Excelでは、色々エラーが表示されることがありますので、対応方法の一つとして、IFERROR関数をつかってみるというのは、いいかもしれませんね。

3/21/2022

Excel。今週のFacebookページの投稿 2022/3/14-2022/3/20【Trivia】

Excel。今週のFacebookページの投稿 2022/3/14-2022/3/20

<Facebookページ>

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

3月14日

Excel。AVERAGE関数。

読み方は、アベレージで、数値の平均値を算出します。



3月15日

Excel。AVERAGEA関数。

読み方は、アベレージ・エーで、数値・文字列・論理値を含む平均値を算出します。



3月16日

Excel。AVERAGEIF関数。

読み方は、アベレージ・イフで、条件付きで数値の平均値を算出します。



3月17日

Excel。AVERAGEIFS関数。

読み方は、アベレージ・イフズで、複数条件付きで数値の平均値を算出します。



3月18日

Excel。BAHTTEXT関数。

読み方は、バーツテキストで、数値を四捨五入して、バーツ書式を設定した文字列に変換します



3月19日

Excel。BASE関数。

読み方は、ベースで、10進数をn進数に変換します



3月20日

Excel。BESSELI関数。

読み方は、ベッセルアイで、第1種変形ベッセル関数In(X)の値を算出します

3/20/2022

Excel。AVERAGEIF関数は単一条件で数値の平均値を算出します【AVERAGEIF】

Excel。AVERAGEIF関数は単一条件で数値の平均値を算出します

<関数辞典:AVERAGEIF関数>

AVERAGEIF関数

読み方: アベレージ・イフ  

分類: 統計 

AVERAGEIF(範囲,条件,[平均対象範囲])

AVERAGEIF関数

単一条件で数値の平均値を算出します 

3/19/2022

Excel。2列1組の表から1列置きに行方向に手早く抽出するには【Row direction】

Excel。2列1組の表から1列置きに行方向に手早く抽出するには

<VLOOKUP+ROW関数>

先のことを考えずに、帳票をつくってみたら、そのあと、有効に使えないという表というのがあります。


例えば次のような表。


月ごとに、販売数と金額の2列1組の表ですが、2列目の金額の数値を、B8に転記したいわけです。


効率よく作業したいので、A7に店舗名を入力したら、その月の金額一覧のようにしたいわけです。


月ごとのデータを、一つずつ、コピーして貼り付けるというのでは、時間がかかってしまいます。

まして、データの件数が増えれば、手作業というわけにもいきません。


では、どのようにしたら、手早く1列置きのデータを抽出することができるのでしょうか?


このような場合、「VLOOKUP関数」を使うことで、対応することが可能です。


特に、A7の店舗名を変更したら、それに連動させる必要がありますので、VLOOKUP関数をつかうことで、手早く抽出することができます。

B8に次の数式を設定します。

=VLOOKUP($A$7,$A$3:$G$5,ROW(A1)*2+1,FALSE)


あとは、B10までオートフィルで数式をコピーすれば、4月から6月まで金額を抽出することができました。


これならば、1年分のデータでも、手早く抽出することができます。


では、VLOOKUP関数の引数を説明していきます。


検索値は、「$A$7」。

A7の店舗名を変更することで、それぞれの店舗に合わせたデータを抽出することができます。

オートフィルで数式をコピーするので、絶対参照を設定しています。


範囲は、「$A$3:$G$5」。

帳票のデータ部分を範囲選択します。

ここも、オートフィルで数式をコピーするので、絶対参照を設定します。見出し行は不要ですね。


列番号が、今回のポイントです。

「ROW(A1)*2+1」。


VLOOKUP関数の列番号は、先程「範囲」に設定したデータの左から何列目なのかという指示をするわけです。


そこで、逆にどうやったら、「3・5・7」という、一つ置きの数値を、もってくることができるのかを考えてあげればいいわけです。


オートフィルで数式を下方向にコピーするわけなので、変化があるのは、行番号です。

行番号を算出するには、「ROW関数」を使います。


2列1組なので、ROW(A1)とすれば、「1」という数値が算出できます。

オートフィルで数式をコピーすることで、5月のデータは、ROW(A2)となり「2」という数値を算出します。


この算出された結果を2倍すれば、偶数列のデータを抽出できます。

さらに、「+1」することで、奇数列である、「3・5・7」列のデータを抽出することができるという仕組みです。


引数の最後の検索方法は、完全一致なので「FALSE」と設定すれば、完成です。


このように、VLOOKUP関数をつかうことで、色々な抽出方法が見つかるかもしれませんので、試してみるといいかもしれませんね。

3/18/2022

Excel。CONVERT関数をつかえば手早く単位変換を行えます。【function:CONVERT】

Excel。CONVERT関数をつかえば手早く単位変換を行えます。

<CONVERT関数>

温度の単位には、摂氏と華氏がありますが、摂氏を華氏に変換するとなると、なかなか面倒な計算式をつかわないと、変換することができません。


また、距離の単位も、メートルやらヤードやらと、変換するにはなかなか、面倒です。


ところが、Excelには、単位変換のCONVERT関数というのが用意されているので、あっさり、単位変換することができるようになっています。


10メートルは何ヤードなのか。

D2に設定した数式をみてみましょう。

=CONVERT(A2,"m","yd")


このように、簡単に、メートルをヤードに変換することができました。

余談ですが…。

1光年は何キロメートルなのか、なんてことも、算出することができます。

9460730472581キロメートルといっても、数値が大きすぎて、さっぱりわかりませんね。


これ以外にも様々な単位変換が出来るようになっております。


では、CONVERT関数の基本情報を確認しておきましょう。

CONVERT関数の読み方は「コンバート」です。

所属は、「エンジニアリング」です。

CONVERT関数の引数は、

CONVERT(数値,変換前単位,変換後単位)

3/17/2022

Excel。AVERAGEA関数は、数値・文字列・論理値を含む平均値を算出します【AVERAGEA】

Excel。AVERAGEA関数は、数値・文字列・論理値を含む平均値を算出します

<関数辞典:AVERAGEA関数>

AVERAGEA関数

読み方: アベレージ・エー  

分類: 統計 

AVERAGEA(値1,[値2],…)

AVERAGEA関数


数値・文字列・論理値を含む平均値を算出します

3/16/2022

Excel。VBA。セル内の空白を手早く削除するには、どうしたらいい【Remove blanks】

Excel。VBA。セル内の空白を手早く削除するには、どうしたらいい

<Excel VBA:Replace>

データを読み込んだ後に、そのまま使えないケースが多々あります。

例えば、セル内の空白。


次のデータがあります。


B列の氏名のデータですが、よくみると、空白がセル内にあったり、なかったり、空白セルも全角空白なのか半角空白2個分なのかも、わかりません。


このようなデータでは、並べ替えをするだけでも、影響が出てしまいます。


そこで、セル内の空白を削除したいわけですが、どのようにしたら効率がいいのでしょうか?


C列に、SUBSTITUTE関数をつかって、空白を削除したデータをつくってもいいのですが、列が増えてしまうことは、データ量が多い場合、ファイルサイズにも直結するため、Excelファイル自体が重くなることが想定されます。

なによりも、数式ですから、値で貼り付け等をおこなって、文字列にする必要があります。


そこで、Excel VBAでプログラムをつくり、直接B列のデータから空白を削除する方法を採用することにします。


次のようなプログラムを作成してみました。


Sub 空白除去()

    Dim i As Long

    Dim lastrow As Long

    lastrow = Cells(Rows.Count, "b").End(xlUp).Row

    

    For i = 2 To lastrow

    

    Cells(i, "b").Value = Replace(Cells(i, "b"), " ", "")

    Cells(i, "b").Value = Replace(Cells(i, "b"), " ", "")

    

    Next

End Sub


とても、シンプルです。プログラムを難解にしても意味がありません。

実行してみましょう。


このように、セル内の空白を全角・半角の空白に関係なく削除することができました。

プログラム文を確認することにしましょう。


最初は、変数宣言です。

Dim i As Long

Dim lastrow As Long

lastrow = Cells(Rows.Count, "b").End(xlUp).Row

「lastrow = Cells(Rows.Count, "b").End(xlUp).Row」は、B列の最後尾の行番号を算出することで、データの件数を取得することができます。


この数値は、次のFor To Nextで繰り返し処理の回数で使用します。


For i = 2 To lastrow

    Cells(i, "b").Value = Replace(Cells(i, "b"), " ", "")

    Cells(i, "b").Value = Replace(Cells(i, "b"), " ", "")

Next


繰り返し処理です。

B列のデータを、Replaceをつかって、半角・全角の空白を「””」で置換させています。


データ量が多い場合には、用意しておきたいプログラム文かと思います。


また、Excel関数のSUBSTITUTE関数をつかうのならば、

Sub 空白除去()

    Dim i As Long

    Dim lastrow As Long

    lastrow = Cells(Rows.Count, "b").End(xlUp).Row

    

    For i = 2 To lastrow

        Cells(i, "b") = WorksheetFunction.Substitute(Cells(i, "b"), " ", "")

        Cells(i, "b") = WorksheetFunction.Substitute(Cells(i, "b"), " ", "")

    Next

End Sub


Substituteは、Replaceのように、つかえません。

WorksheetFunctionをつけないとエラーが発生します。


セル内の空白を削除する方法は、色々ありますので、わかりやすいものを「つかってみる」というのが、いいかもしれませんね。

3/15/2022

Excel。今週のFacebookページの投稿 2022/3/7-2022/3/13【Trivia】

Excel。今週のFacebookページの投稿 2022/3/7-2022/3/13

<Facebookページ>

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

3月7日

Excel。ASC関数。

読み方は、アスキーで、英数カナを半角に変換します。



3月8日

Excel。ASIN関数。

読み方は、アーク・サインで、逆正弦(アークサイン)を算出します。



3月9日

Excel。ASINH関数。

読み方は、ハイパーポリック アーク・サインで、数値の双曲線逆正弦を算出します。



3月10日

Excel。ATAN関数。

読み方は、アーク タンジェントで、逆正接(アークタンジェント)を算出します。



3月11日

Excel。ATAN2関数。

読み方は、アーク タンジェント・ツーで、X-Y座標値から 逆正接(アークタンジェント)を算出します。



3月12日

Excel。ATANH関数。

読み方は、ハイパーポリック アーク タンジェントで、数値の双曲線逆正接を算出します。



3月13日

Excel。AVEDEV関数。

読み方は、アベレージディブで、数値群の平均偏差を算出します。

3/14/2022

Excel。AVERAGE関数は、数値の平均値を算出します【AVERAGE】

Excel。AVERAGE関数は、数値の平均値を算出します

<関数辞典:AVERAGE関数>

AVERAGE関数

読み方: アベレージ  

分類: 統計 

AVERAGE(数値1,[数値2],…)

AVERAGE関数

数値の平均値を算出します 

3/13/2022

Excel。「;(セミコロン)」で繋げて手早く一斉メールアドレスをつくりたい【Character combination】

Excel。「;(セミコロン)」で繋げて手早く一斉メールアドレスをつくりたい

<TEXTJOIN関数>

テレワークに限らず、多くのスタッフ宛に一斉メールを送りたい場合、メールアドレスごとに「;(セミコロン)」で結合します。


例えば、次のようなスタッフメールアドレス一覧が用意されています。


メールアドレスの間に「;(セミコロン)」をいれた文字列をつくるわけですが、どのようにしたら、手早く作ることができるのでしょうか?


例えば「&(アンパサンド)」で文字列を結合する方法もあります。

=B2&”;”B3…

というような数式になるわけですが、件数が多いので大変ですね。


また、文字結合をする関数である「CONCAT関数」や「CONCATENATE関数」をつかうとしても、「&(アンパサンド)」と同じような数式になってしまいます。

=CONCAT(B2,";",B3,";"…)


それでは、Excel VBAでプログラムをつくるしかないのでしょうか。


そこで、新しく追加された関数「TEXTJOIN関数」をつかうことで、とても簡単につくることができます。


D2に次の数式をつくりました。

=TEXTJOIN(";",TRUE,B2:B10)


数式のままだと、つかえませんので、あとは値のコピーをすることで、一斉メール用のメールアドレスをつくることができました。


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


最初の引数は、「区切り文字」。

結合する文字の間にいれたい文字を設定します。

今回は「;(セミコロン)」で区切りたいので、「”;”」と設定します。


2番目の引数は、「空のセルの無視」。

結合したいセルが空白だった場合、空白にするのか、無視するのかを決めることができます。

今回は、無視することにしますので、「TRUE」と設定します。


この後の引数は、「テキスト1」。結合したいセルを範囲選択してきます。

よってB2:B10と設定します。


文字結合する関数も、色々用意されていますので、用途に合わせて使い分けることで、効率的に処理することができますので、関数を探してみるといいかもしれませんね。

3/12/2022

2022年2月の閲覧ランキングTOP10をご紹介【February 2022 ranking】

2022年2月の閲覧ランキングTOP10をご紹介

<TOP10>

皆様に閲覧していただいた項目の2022年2月TOP10をご紹介


1位

Excel。同じシートにある複数のデータを手早く合算するには、どうしたらいい。

https://infoyandssblog.blogspot.com/2022/02/excelintegration.html


2位

Excel。AとB。得点も平均も同じだけど、どっちのほうに価値があるのかしりたい

https://infoyandssblog.blogspot.com/2022/02/excelabstandardization.html


3位

Excel。範囲選択で文字結合できる、CONCAT関数はとても便利です。

https://infoyandssblog.blogspot.com/2022/02/excelconcatfunctionconcat.html


4位

Excel。手早く文字結合するには、CONCATENATE関数をつかってみましょう。

https://infoyandssblog.blogspot.com/2022/02/excelconcatenatefunctionconcatenate.html


5位

Excel。手早く、複数続く項目行ごとに項目行数が違っても色分けしたい

https://infoyandssblog.blogspot.com/2022/02/excelcolor-coding.html


6位

Excel。フィールド(列)を並べ替えた表を手早く別シートにつくりたい。

https://infoyandssblog.blogspot.com/2022/02/excelsort.html


7位

Excel。入力規則のリスト。アイテム増えても手早く更新できるようにしたい

https://infoyandssblog.blogspot.com/2022/02/excelinput-rule.html


8位

Excel。一日のタイムスケジュールを管理する24時間横棒グラフを作ってみる

https://infoyandssblog.blogspot.com/2016/03/excel24hour-schedule24.html


9位

Excel。一覧表から行単位で抽出するならVLOOKUP関数よりもINDEX関数がおススメ。

https://infoyandssblog.blogspot.com/2015/06/excelvlookupindex.html


10位

Excel。料金量がわかりやすい階段グラフの作り方

https://infoyandssblog.blogspot.com/2017/09/excelstaircase-graph.html

3/11/2022

Excel。AVEDEV関数は、数値群の平均偏差を算出します【AVEDEV】

Excel。AVEDEV関数は、数値群の平均偏差を算出します

<関数辞典:AVEDEV関数>

AVEDEV関数

読み方: アベレージディブ  アベレージ・ディビエーション

分類: 統計 

AVEDEV(数値1,[数値2],…)

AVEDEV関数


数値群の平均偏差を算出します 

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