7/31/2017

今週のFacebookページの投稿 2017/07/24-2017/07/30

今週のFacebookページの投稿 2017/07/24-2017/07/30

<Facebookページ>

Facebookページで【書いてみた】ワンポイントです。

7月24日
Wordショートカット。
F4 キーで直前の操作を繰り返します。

7月25日
Wordショートカット。
F5 キーで[ジャンプ] コマンド ([ホーム] タブ) を選択します。

7月26日
Wordショートカット。
F6 キーで次のウィンドウまたはフレームに移動します。

7月27日
Wordショートカット。
F7 キーで[スペルチェック] コマンド ([校閲] タブ) を選択します。

7月28日
Wordショートカット。
F8 キーで選択範囲を拡張します。

7月29日
Wordショートカット。
F9 キーで選択したフィールドを更新します。

7月30日
Wordショートカット。
F10 キーでキーヒントを表示します。

Excelテクニック and  MS-Office recommended by PC training
https://www.facebook.com/exceltechniqueandmsoffice/

Excelのショートカット一覧はこちらで書いております。
http://yandss.p2.weblife.me/shortcutkey.html

7/30/2017

Excel。上位30%をA。上位70%をBというようにパーセントで判断する方法【Ratio branch】

Excel。上位30%をA。上位70%をBというようにパーセントで判断する方法

<IF+PERCENTILE.INC関数>

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

例えば、400以上ならA。300以上ならB。
それ以外はCというように判断分岐をするとしたら、
IF+IF関数のネストで算出することが出来ますよね。

ところが、今回のリクエストは、パーセント。
割合で判断分岐をしたいということなのです。

売上高の上位30%以内なら、A。
上位70%以内なら、B。
それ以外はCというような判断分岐をしたいというのが、
今回の目標になります。

まず厄介なのが、
新宿の売上高は、全体の売上高のうち、
上位30%に入っているのか?を判断指せるとした場合、
上位30%って、いくら?というのがわからないと判断の使用がありませんね。

このような、上位何%というような数値を求める関数があります。
それが、PERCENTILE.INC関数です。

C13に、PERCENTILE.INC関数を使って、
上位30%の数値を算出してみましょう。

C13をクリックして、
PERCENTILE.INC関数ダイアログボックスを表示しましょう。

配列には、C3:C12を入力します。
率には、0.7を入力します。

上位30%だから0.3では?と思われるかもしれませんが、
0から70%の位置の数値が、上位30%の数値になりますので、
0.7と入力します。

ですので、上位70%の位置の数値を求める場合には、
0.3ということになりますね。

では、OKボタンをクリックしましょう。

425.2と算出されましたね。
この数値が上位30%の数値ですので、
コレよりC3の値が大きければ上位30%以内ということを判断することができます。

C13の数式は、
=PERCENTILE.INC(C3:C12,0.7)

ついでに、上位70%以内の数値も算出すると、

364.7
という数値が上位70%という結果が求めることが出来ました。

このC13とC14の数値を使ってIF関数でABCの判断をしてもいいのですが、
今回は、別途セルに算出しないで、数式を作成してみましょう。

D3をクリックして、IF関数ダイアログボックスを表示しましょう。

論理式には、先ほど作成したPERCENTILE.INC関数をネストしていきます。

配列には、$C$3:$C$12

先ほどと範囲自体はかわりませんが、
オートフィルで数式をコピーしますので、
絶対参照を忘れないで設定しておきましょう。

率は、0.7
それでは、IF関数に戻りましょう。

IF関数の論理式を加工します。

PERCENTILE.INC($C$3:$C$12,0.7)<=C3
これで、C3が上位30%以内に該当するのかが、判断できます。

真の場合には、”A”

偽の場合ですが、IF+IF関数と同じですので、
IF関数をネストします。

ネストのIF関数は、次のように設定していきます。

論理式には、
PERCENTILE.INC($C$3:$C$12,0.3)<=C3
真の場合には、”B”
偽の場合には、”C”
として、OKボタンをクリックします。

あとは、オートフィルで数式をコピーして完成ですね。

D3の数式は、
=IF(PERCENTILE.INC($C$3:$C$12,0.7)<=C3,"A",IF(PERCENTILE.INC($C$3:$C$12,0.3)<=C3,"B","C"))

このようにすれば、パレート図を作成するときのABC分析にも使えますよ。

7/27/2017

Excel。ドーナツグラフの【穴】を塗りつぶしたい【Donut hole】

Excel。ドーナツグラフの【穴】を塗りつぶしたい

<ドーナツグラフ>

通常ドーナツグラフを作ると、ドーナツの穴のところは白色な訳です。

そこをわかりやすくしたいのかは、
わかりませんが、その穴を塗りつぶしたいけど、
どうやっても出来ないというご質問がありましたので、
今回ドーナツの穴を塗りつぶす方法をご紹介していきます。

ただし、Excel2010ということで紹介します。
というのも、Excel2013以降だと
簡単に穴を塗りつぶすことが出来るからです。

ということで、作りたいグラフはこのようなグラフです。

ドーナツの穴が塗りつぶされていますよね。

別に図形の円を描いて塗りつぶしをするのがいい効率だとは思うのですが…

ということで、今回の表は次のような表を作ります。

B列がなぜあるのか?というと、
二重ドーナツグラフ】を作成するからです。

そして、以前BLOGでご紹介したように、
内側のドーナツが左側の列で表現されますので、このような表になっています。

そして、B2ですが、これはC7をセル参照していて、
表示形式はユーザー定義で、”人”を付けてあります。

では、A2:C6を範囲選択して、「ドーナツグラフ」を挿入していきましょう。

挿入タブの「その他のグラフ」にある、「ドーナツ」をクリックしましょう。

二重ドーナツグラフが挿入されましたね。

凡例は不要ですので削除します。
そして、外側ドーナツを太くします。

外側ドーナツをクリックして、
書式タブの選択対象の書式設定をクリックすると、
データ系列の書式設定ダイアログボックスが表示されますので、
系列のオプションの「ドーナツの穴の大きさ」を25%に変更して、
閉じるボタンをクリックします。

これで、外側ドーナツが太くなりましたね。

ここでポイントなのですが、
内側ドーナツの穴を埋めることが出来れば問題はないのですが、
Excel2010ではドーナツグラフの穴を0%にすることが出来ません。

確認してみましょう。
内側ドーナツをクリックして、先程と同じ方法で、
「ドーナツの穴の大きさ」を0%にしてみましょう。

なんと、10%までしか小さくすることが出来ないのです。

そこで、内側ドーナツを円グラフに変更していきます。

内側ドーナツをクリックして、
デザインタブの「グラフの種類の変更」をクリックします。

グラフの種類の変更ダイアログボックスが表示しますので、
2-D円グラフをクリックして、OKボタンをクリックしましょう。

外側ドーナツがさらに太くなりますので、
外側ドーナツをクリックして、ドーナツの穴の大きさを50%に戻しましょう。

内側の円グラフをクリックして、好きな色で塗りつぶしをしましょう。

これで、ドーナツの穴を塗りつぶすことが出来ましたので、
外側ドーナツグラフと
内側円グラフにデータラベルを表示させてあげて完成ですね。

このように、グラフの種類も変えることによって、
こんなことも出来るんですね。

7/24/2017

Excel。日付別で連番を振りたいけど何かいい方法ないの?【Serial number】

Excel。日付別で連番を振りたいけど何かいい方法ないの?

<SUBSTITUTE&TEXT関数+COUNTIF関数>

次のような表がありまして、

この表のB列に
営業日+日付ごとの通し番号(連番)を設定したいということなのですが、
厄介なのは、希望している形。

例えば、営業日が4月1日で、
その日の中の最初の行(レコード)ならば、
2017040101
という形に連番を設定してほしいというわけです。

完成形はこのような表にしたい。

4月2日の最初は、2017040201となっていますよね。

このような【項目別連番】を設定する方法をご紹介していきます。

このような場合、日付と連番を分けて考えていきましょう。

営業日を20170401とする方法を考えていきましょう。

このようなケースの場合、どうしても、
YEAR関数やMONTH関数やDAY関数を使いたくなりますが、

これだと、月と日のところで0(ゼロ)埋めをするのに、
プラスのことをしなければなりません。

要するに、YEAR関数とMONTH関数とDAY関数をそれぞれ、
&で結合するだけではダメということになります。

そこで、結合で考えるのではなくて、
2017/04/01という形式のうち、
”/”(スラッシュ)を無くせば
20170401と表示することが出来ることに
着目してアプローチしていきます。

 “/”を無くす、
つまり、”/”を””(空白)で
置き換えてあげることが出来ればいいということで、
SUBSTITUTE関数を使って置き換えてみましょう。

では、B2をクリックして、
SUBSTITUTE関数ダイアログボックスを表示しましょう。

文字列には、
TEXT(C2,"yyyy/mm/dd")
C列は、月日の表示形式なので、これを”/”を使った表示形式に変更します。

そのためにTEXT関数を使って表示形式を変えております。

検索文字列は、”/”
この”/”を探すわけですね。

置換文字列は、””
“/”を無くすわけですね。

では、OKボタンをクリックしてみましょう。

まずは、日付を0埋めで表示することが出来ました。

そして後半の項目別の連番を作る作業に取り掛かりましょう。

項目別に変わるということので、
パターンを考えてみると、C列の期間の中で、
C2のセルの内容と同じものがいくつあるのか?ということで、
件数を求めることが出来そうですね。

どうしても、連番ということで、
ROW関数などに引っ張られそうになりますが、
数える」ということでも、連番を振ることが出来ます。

数えるということから、
登場する関数は、COUNTIF関数を使ってみましょう。

先程の数式のあとに&を入力して、
COUNTIF関数ダイアログボックスを表示させていきます。

範囲ですが、
$C$2:C2
これは、累計を求める時に使う方法でお馴染みの、
スタート地点を固定しておいて、範囲を伸ばしていく方法ですね。

検索条件は、C2
そして、OKボタンをクリックします。

数式は、
=SUBSTITUTE(TEXT(C2,"yyyy/mm/dd"),"/","")&COUNTIF($C$2:C2,C2)

となっていますが、
これでは、項目別連番の0埋めが出来ていませんので、
ここでもTEXT関数を追加して修正してあげます。

完成した数式は、
=SUBSTITUTE(TEXT(C2,"yyyy/mm/dd"),"/","")&TEXT(COUNTIF($C$2:C2,C2),"00")

では、オートフィルで数式をコピーしてみましょう。

これで完成しました。
このような方法を使うことで、
日付(0埋め)+項目別(0埋め)連番を作ることが出来ました。

機会があれば是非作ってみませんか?

7/23/2017

今週のFacebookページの投稿 2017/07/17-2017/07/23

今週のFacebookページの投稿 2017/07/17-2017/07/23

<Facebookページ>

Facebookページで【書いてみた】ワンポイントです。

7月17日
Wordショートカット。
Alt + Shift + F9 キーでフィールドの実行結果を
表示しているフィールドから
GOTOBUTTON フィールド
または
MACROBUTTON フィールドを実行します。

7月18日
Wordショートカット。
F11 キーで次のフィールドに移動します。

7月19日
Wordショートカット。
Shift + F11 キーで前のフィールドに移動します。

7月20日
Wordショートカット。
Ctrl + F11 キーでフィールドをロックします。

7月21日
Wordショートカット。
Ctrl + Shift + F11 キーでフィールドのロックを解除します。

7月22日
Wordショートカット。
F1 キーでヘルプまたは Microsoft Office.com を表示します。

7月23日
Wordショートカット。
F2 キーでテキストまたはグラフィックを移動します。

Excelテクニック and  MS-Office recommended by PC training
https://www.facebook.com/exceltechniqueandmsoffice/

Excelのショートカット一覧はこちらで書いております。
http://yandss.p2.weblife.me/shortcutkey.html

7/21/2017

Excel。マクロ010。コピー&カット&ペーストを確認してみよう【xlPasteValues】

Excel。マクロ010。コピー&カット&ペーストを確認してみよう

<VBA>

事務職でも、少しExcel VBAを知っていると、
確かに作業効率は改善されるようですが、
難しいと感じている人も多いようです。

とはいえ、少しずつでいいので、慣れていくといいですね。

ということで、
今回は、【コピー&カット&ペースト】という基本操作を
確認していきましょう。

次の表を使って確認していきます。

コピー
A2:F8の表を、A10を基点にしてコピーをしてみます。

Sub コピー()
    Range("a2").CurrentRegion.Copy Range("a10")
End Sub

または、
Sub コピー()
    Range("a2","f8").Copy Range("a10")
End Sub
でもOKですね。

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

コピーできましたね。
このVBAは、A2を基点とした表を範囲選択して、A10を基点としてコピーする
ということを行っています。

なお、CopyのあとのRange("a10")は、Destinationに該当しますので、
この引数を気際しない場合には、
クリップボードにデータがコピーされます。

なので、一つの表を複数コピーする場合には、
次のようにペースト使うといいですね。

Sub コピー複数()
    Range("a2").CurrentRegion.Copy
    ActiveSheet.Paste Range("a10")
    ActiveSheet.Paste Range("a18")
    Application.CutCopyMode = False
End Sub

Application.CutCopyMode = False
は、範囲選択してコピーした後に、範囲選択したところが、
破線で点滅していますよね。

あれをストップさせる一行です。

なくても、いいのですが、せっかくなので、追加してみました。

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

では、カット。移動をやってみましょう。

Sub カット()
    Range("a2").CurrentRegion.Cut Range("a10")
End Sub

実行してみましょう。

このように、簡単に移動することができましたね。

最後は、現場で多い、『値』での貼り付けをやってみましょう。

形式を指定して貼り付けをする中では結構実行する処理の一つですね。

Sub 値のコピー()
    Range("a2").CurrentRegion.Copy
    Range("a10").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End Sub

Range("a2").CurrentRegion.Copy
は、A2を基点とした表をコピーします。

Range("a10").PasteSpecial xlPasteValues
は、A10を基点として、
「xlPasteValues」すなわち、『』で、貼り付けをします。

Application.CutCopyMode = False
は、範囲選択してコピーしたあとの、破線の点滅をストップします。

という事を実行します。

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

A10を基点として、値で貼り付けることが出来ましたね。

PasteSpecialメソッド引数がありまして、
Paste」は、貼り付ける内容を指定出来る設定値があります。
Operation」は、演算をして貼り付けることができます。
SkipBlanks」は、空白セルを貼り付けの対象にしないという設定ができます。
Transpose」は、貼り付けのときに、
行と列を入れ替えて貼り付けすることができます。

今回は、コピー・ペースト・カット。
そして、形式を指定しての貼り付けの中から、
『値』での貼り付けをご紹介しました。

どれも、基本ではありますが、
Excelも、マクロVBAも基本が大事ですので、
しっかり確認しておきたいところの一つですね。

7/18/2017

Excel。事務職のデータ分析その7。度数からヒストグラムを作ってみよう【Histogram】

Excel。事務職のデータ分析その7。度数からヒストグラムを作ってみよう

<ヒストグラム>

最近は、事務職でも資料作りの一環で、
データ分析系の資料作成をする人が増えてきたそうですので、
あまり馴染みがないものも少しずつ慣れていくようにしましょう。

ということで、
前回は、階級に基づき、度数・相対度数・累積度数を算出しましたので、
階級と度数を使って、ヒストグラムを作っていきます。

作成するのはこのようなグラフですね。

ヒストグラムは、データの散らばり方や、
まとまり方、中心位置がどこにあるのかといったことが
【視覚的】にわかりやすいことが特徴の集合縦棒グラフのことです。

この表だけだと、
確かに数値の羅列では何がなんだか、わかりにくいですよね。

作り方自体は簡単なので、ヒストグラムの注目ポイントは、
データの山の数
山の数が複数の場合には、異なる性質のデータが混在しています。

シンメトリー(対称)
左右対称だと、
分析手法の検定や推定で正規分布に当てはめることができます。

中心位置
統計学において、中心位置はとても重要なポイントですね。
【視覚的】にすることで、わかりやすくなります。

ばらつき
全体のバラツキ具合も【視覚的】にわかりますね。

外れ値
ほかのデータと比べて、【視覚的】にこれは、
明らかにかけ離れているだろうというのがあれば、
『外れ値』の可能性があることがわかりますね。

なので、ただ、度数を算出するだけじゃなくて、
【視覚化】すなわち、ヒストグラムにすることも大切な作業の一つなのです。

では、作り方ですが、
次の表があります。

E2:F9を範囲選択して、集合縦棒グラフを挿入しましょう。

挿入タブの縦棒から、2-D縦棒の「集合縦棒」をクリックすると、
集合縦棒グラフが挿入されます。

棒グラフ自体の幅を太くしますので、
棒グラフをダブルクリックするか、棒グラフをクリックして、
書式タブのグラフ要素が、「系列 "度数"」になっていることを確認して、

選択対象の書式設定をクリックしましょう。

右側にデータ系列の書式設定作業ウインドウが表示されます。

系列のオプションにある「要素の間隔」を0%に変更しましょう。

これで、棒グラフどうしの間隔がなくなりましたね。

棒グラフの選択を解除すると、「べた塗り」になってしまっているので、
棒グラフの枠線に色をつけて上げるといいですね。

例えばですが、

書式タブの図形のスタイルから選択してあげてもいいですね。

これで完成しました。

ヒストグラム自体の作り方は簡単ですので、
作ってみてはいかがでしょうか?

7/16/2017

今週のFacebookページの投稿 2017/07/10-2017/07/16

今週のFacebookページの投稿 2017/07/10-2017/07/16

<Facebookページ>

Facebookページで【書いてみた】ワンポイントです。

7月10日
Wordショートカット。
Alt + Shift + T キーでTIME フィールドを挿入します。

7月11日
Wordショートカット。
Ctrl + F9 キーで空のフィールドを挿入します。

7月12日
Wordショートカット。
Ctrl + Shift + F7 キーで
Microsoft Word のリンク元ドキュメントのリンクされた情報を
更新します。

7月13日
Wordショートカット。
F9 キーで選択したフィールドを更新します。

7月14日
Wordショートカット。
Ctrl + Shift + F9 キーでフィールドのリンクを解除します。

7月15日
Wordショートカット。
Shift + F9 キーで選択したフィールド コードと
その実行結果の表示を切り替えます。

7月16日
Wordショートカット。
Alt + F9 キーですべてのフィールド コードと
その実行結果の表示を切り替えます。

Excelテクニック and  MS-Office recommended by PC training
https://www.facebook.com/exceltechniqueandmsoffice/

Excelのショートカット一覧はこちらで書いております。
http://yandss.p2.weblife.me/shortcutkey.html

7/15/2017

Access。パラメータークエリで入力するデータ型を指定する方法【Parameter】

Access。パラメータークエリで入力するデータ型を指定する方法

<パラメータークエリ>

クエリの抽出条件を固定させるのではなくて、
パラメーターを入力する事によって、
その都度抽出条件を変えられるクエリが【パラメータークエリ】なのですが、
そのパラメーターにデータ型を設定しておくことによって、
パラメーターの入力ミスを抑制することが出来ます。

ということで、
まずは【パラメータークエリ】から確認してみましょう。

このような、「Q顧客東京都」というクエリがあります。

フィールドの都道府県には、47都道府県のデータがあります。

そして、抽出条件には、"東京都"とすることで、
東京都の顧客データのみが抽出することが出来ます。

しかしながら、このような固定されている抽出条件では、
47都道府県分のクエリを作らなければいけなくなります。

となると、当然クエリ数が膨大になります。

高頻度でその47都道府県のクエリを使うならともかく、
一時的だったら、益々クエリを作る必要がありません。

そこで、都道府県を「大阪府」と入力したら「大阪府」のデータが
抽出出来るようになれば、効率も改善されます。

そこで、抽出条件に『パラメーター』を設定することで、可能になります。

クエリを変更してみます。

抽出条件には、[都道府県を入力]
と入力します。

実行すると、
パラメーターの入力ダイアログボックスが表示されますので、
神奈川県と入力してOKボタンをクリックすると、

神奈川県の顧客データのみが抽出してくれました。

なお、[都道府県を入力]のカッコの中身が、
ダイアログボックスのメッセージで表示されます。

ではいよいよ本題。

次のクエリは、入力した期間内を抽出してくれるクエリです。

フィールドの日付の抽出条件は、
Between [開始日] And [終了日]
としてあります。

Between Andとパラメーターの合体ワザですね。
実行してみると

開始日を入力したあとに、終了日の入力を求められますので、
入力してOKボタンをクリックすると、該当した期間のデータが抽出してくれます。

ところが、開始日を次のように入力してしまったとします。

20170601というように、「/」の入力を忘れてしまったので、
数値になってしまい、
結果エラーメッセージが表示されて抽出出来ませんでした。

そこで、今回のように日付型という設定をパラメーターにすることによって、
入力ミスを抑制することが可能になるわけです。

デザインタブの「パラメーター」をクリックします。

クエリパラメーターダイアログボックスが表示されますので、
パラメーター名を入力して、データ型を一覧表から設定します。

そしてOKボタンをクリックします。

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

20160601と入力してみると、
データ型が違うので入力すること出来ないという
エラーメッセージが表示されます。

このように入力ミスを抑制する事ができますよ。

パラメータークエリは多くのテキストで紹介されているのですが、
今回ご紹介したパラメータークエリで入力するデータ型を指定する方法は、
ほとんど紹介されておりませんので、
知っていると現場レベルで使えるテクニックの一つかと思いますので、
機会がありましたら是非。