6/30/2020

Access。「固有の値」で、重複は簡単に除外できます【Duplication】

Access。「固有の値」で、重複は簡単に除外できます

<クエリプロパティ:固有の値>

データベースで悩ましい問題となってくるものがありまして、その中のひとつに、「重複」という問題があります。

重複したデータを削除することは、なかなか大変だったりします。

Excelには、「重複の削除」というボタンが登場して簡単になりましたが、Accessにも同じように、比較的簡単に重複を除外することができる「固有の値」というのがクエリのプロパティにありますので、確認してみましょう。
 

Excelからインポートした、店舗別で担当しているスタッフのテーブルが3店舗あります。
 
複数店舗を担当しているスタッフもいますので、何名のスタッフが所属しているのかわかるように、スタッフ一覧を作りたいとします。

追加クエリを使って、3店舗のテーブルをまとめたのが、テーブル「T担当スタッフ」です。
 
重複しているスタッフがいますので、それをどうやって除外したらいいのでしょうか?

目視確認で削除していくには大変ですし、当然ミスも発生します。

このぐらいのデータ量ならばアリかもしれませんが、大変そうですね。

クエリで、演算フィールドを追加して、1のデータのみを抽出するというアイディアもわるくなさそうですが、Accessのクエリのプロパティに「固有の値」というのがあります。

これをつかうと、簡単に重複を除外することができます。

作成タブのクエリデザインでクエリをつくっていきます。
重複を除外したいフィールドを設定します。
 
クエリのプロパティを表示させますので、フィールドリストなど何もない、グレーっぽいところをクリックしておきます。
 
それ以外のところをアクティブにしておくと、そのプロパティが表示されてしまうので、グレーっぽいところをクリックしてアクティブにしておきましょう。

ここが、最大のポイントです。

デザインタブの「プロパティシート」をクリックします。
 
プロパティシート作業ウィンドウが表示されます。
 
選択の種類が「クエリプロパティ」になっているか確認しましょう。

プロパティシートの「固有の値」を「はい」に設定します。

これで、重複を除外することができました。

では、実行して、データシートビューで確認してみましょう。
 
重複したデータを除外されたことが確認できました。

このように、Excelの重複の削除のようにボタン一発というわけには、いきませんが、クエリのプロパティ「固有の値」をつかうことで、比較的簡単に、重複を除外することができます。

6/29/2020

今週のFacebookページの投稿 2020/6/22-2020/6/28

今週のFacebookページの投稿 2020/6/22-2020/6/28

<Facebookページ>

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


6月22日
Excel。HOUR関数。
読み方は、アワーで、時刻から"時"を算出する

6月23日
Excel。HYPERLINK関数。
読み方は、ハイパーリンクで、他のドキュメントへのリンクを作成

6月24日
Excel。HYPGEOMDIST関数。
読み方は、ハイパージオムディストで、超幾何分布の確率を算出

6月25日
Excel。HYPGEOM.DIST関数。
読み方は、ハイパージオム・ディストで、超幾何分析の累計確率か確率密度を算出
Excel2010以降

6月26日
Excel。IF関数。
読み方は、イフで、条件で分岐して異なる計算結果を返す

6月27日
Excel。IFERROR関数。
読み方は、イフエラーで、対象がエラーの場合に指定した値を返す

6月28日
Excel。IFNA関数。
読み方は、イフエヌエーで、結果が#N/Aの場合は指定した値を返す
イフ・ノン・アプリカブル

Excelテクニック and  MS-Office recommended by PC training

6/27/2020

Excel。グラフ横軸の文字を互い違い表示するにはどうしたらいい?【Staggered letters】

Excel。グラフ横軸の文字を互い違い表示するにはどうしたらいい?

<集合縦棒グラフをつかって説明>

グラフの横軸に使う文字が長い場合、綺麗なグラフを作ろうとすると厄介な問題が発生することがあります。

次の表を使って、説明していきます。
 
このデータを使って、シンプルな、集合縦棒グラフを作ります。

挿入タブの「縦棒/横棒グラフの挿入」にある、集合縦棒グラフを選択します。
 
集合縦棒グラフが挿入されます。

今回は、説明の為、グラフエリアに色を付けております。
 
横軸のフォントサイズを大きくしたり、グラフのサイズを変えたりしててみると、横軸の文字が斜めに表示されることがあります。
 
横軸に該当する文字が長い場合、斜めになってしまい読みにくくなってしまいます。

アルファベットならば、まだいいのですが、日本語だと読みにくくなるケースが多いようです。

縦書きにする方法もありますが、今度は縦長のグラフになってしまいます。

そこで、横軸の文字を互い違いに表示することができれば、見やすくなる可能性が出てきます。

【横軸の文字を互い違いにする】

グラフにするための表を次のように修正しました。
 
D1:E7は、A1:B7と同じ表に見えますが、A1:B7のデータをもとにアレンジしています。

E列は、単純にセル参照をしているだけなので、E2の数式は、
=B2

D2の都市名は、A2と同じように見えていますが、次のような数式を設定しました。

=IF(MOD(ROW()+1,2),A2,CHAR(10)&A2)
この計算式をオートフィルで数式をD7までコピーしています。

式の説明は後にして、D1:E7を範囲選択して、集合縦棒グラフを挿入してみましょう。
 
ご覧のように、横軸の文字が上下で互い違いに表示されているのが確認できます。

少し、グラフの横幅を広げてみると、もっとはっきり、上下で互い違いで表示されていることがわかります。
 
このように、横軸に表示したい文字列が長い場合など、アイディアによっては、より見やすくてわかりやすいグラフを使った資料を作ることができるかもしれません。

さて、どうして、互い違いに表示できたのでしょうか?
その謎を解くことができるのが、先程の数式です。

=IF(MOD(ROW()+1,2),A2,CHAR(10)&A2)
IF関数は問題ないと思いますが、MOD(ROW()+1,2)というのが条件になっています。

ROW()は、行番号を算出する関数です。

San Francisco は、2行目にあるので、2+1で3。

MOD関数は、除算した余りを算出します。今回は3を2で除算した余りは、1。

なぜ、「+1」しているのでしょうか?
IF関数の条件をよくみてもらうと、「=1」とかありませんよね。

これ、TRUEかFALSEかを算出させているわけです。

Excelでは、TRUEが1でFALSEが0と設定されています。

つまり、結果が1となれば、真の場合を実行しますし、0と算出されていれば、偽の場合を実行することができるわけです。

真の場合は、A2をそのまま表示させます。

儀の場合は、上下で互い違いにしたいので、CHAR(10)を文字結合させています。

このCHAR(10)は、改行を意味しています。

この計算式を使うことで、横軸の文字を上下互い違いに表示することができるわけです。

6/26/2020

Excel。グラフの復習。半ドーナツグラフの作り方~ドーナツグラフの【穴】を塗りつぶす

Excel。グラフの復習。半ドーナツグラフの作り方~ドーナツグラフの【穴】を塗りつぶす

<グラフ>

Excelのグラフは、用途に合わせて様々なグラフを作ることができます。
今回は、グラフの復習ということ、4つをピックアップ

・Excel。男女比などわかりやすくなる半ドーナツグラフの作り方
・Excel。24時間スケジュールを円グラフで作ってみる。
・Excel。事務職のデータ分析その7。度数からヒストグラムを作ってみよう
・Excel。ドーナツグラフの【穴】を塗りつぶしたい

Excel。男女比などわかりやすくなる半ドーナツグラフの作り方

男女それぞれの比率をわかりやすく説明している、【半ドーナツグラフ】。
Excelで作れるかな?と思いったので、その作り方をご紹介いたします。
半ドーナツグラフ

<続きはこちら>
Excel。男女比などわかりやすくなる半ドーナツグラフの作り方
https://infoyandssblog.blogspot.com/2017/07/excelhalf-donut.html


Excel。24時間スケジュールを円グラフで作ってみる。

24時間スケジュール円グラフを作ることが出来ますので、機会がありましたら、是非。
24時間スケジュール円グラフ


<続きはこちら>
Excel。24時間スケジュールを円グラフで作ってみる。
https://infoyandssblog.blogspot.com/2017/07/excel24excel2013pie-chart.html


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

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

<続きはこちら>
Excel。事務職のデータ分析その7。度数からヒストグラムを作ってみよう
https://infoyandssblog.blogspot.com/2017/07/excel7histogram.html


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

ドーナツの穴を塗りつぶす方法をご紹介していきます。
ドーナツグラフの穴を塗りつぶす方法


<続きはこちら>
Excel。ドーナツグラフの【穴】を塗りつぶしたい
https://infoyandssblog.blogspot.com/2017/07/exceldonut-hole.html

6/24/2020

Excel。標本データ数が少ない場合は、t分布(スチューデントのt分布)を利用します。【Student's "t "distribution】

Excel。標本データ数が少ない場合は、t分布(スチューデントのt分布)を利用します。

<COUNT・AVERAGE・STDEV.S・T.INV.2T・SQRT関数>

データがどのようになっているのか確認したくても、母集団の標準偏差がわからない。

さらに、サンプルデータの件数も少ない場合は、「t分布」を利用して推測することができます。
t分布は、スチューデントのt分布の略称ですね。

次のデータを使って必要な値を算出してみましょう。
 
最初は、標本数を算出します。

データ件数を算出しますので、COUNT関数をつかいます。

E2の数式は、
=COUNT(B2:B11)
算出結果は、10

標本平均ですが、これは、お馴染みAVERAGE関数で算出しますので、
E3の数式は、
=AVERAGE(B2:B11)
算出結果は、141.9

標本標準偏差を算出するには、STDEV.S関数で算出することができます。

今回は、サンプルデータが少ないことと、母集団の標準偏差がわからないため、STDEV.S関数を使います。

E4の数式は、
=STDEV.S(B2:B11)
関数自体は馴染みが薄いのですが、範囲選択を設定するだけで、簡単に算出することができます。

STDEV.S関数とSTDEV.P関数がありますが、SはSamle=標本の頭文字で、PはPopulation=母集団を意味しています。

今回はサンプルデータの標本から算出させるので、STDEV.S関数をつかって算出させます。

算出結果は、34.13518875
 
これで、境界値である、t値を算出するための数値を算出することができました。

今回は、信頼度を95%とします。

自由度のE7は、
=E2-1
という数式を設定しています。

自由度は、独立して自由に選べる数値の数です。

t分布の場合は、標本数-1が自由度になります。算出結果は9ですね。

境界値(t値)を算出していきます。

t値も関数で簡単に算出することができます。

使う関数は、T.INV.2T関数です。

T.INV.2T関数は、t分布の両側の累積確率からt値を算出することができる関数です。

E8の数式は、
=T.INV.2T(1-E6,E7)
1-E6の引数である確率は、100%-95%で5%をつかいます。

算出された結果は、2.262157163
 
境界値(t値)まで算出できたので、上限信頼限界と下限信頼限界を算出しておきましょう。

上限信頼限界と下限信頼限界は、公式があります。

上限信頼限界は、
標本平均+t値×標準偏差÷√標本数
下限信頼限界は、
標本平均-t値×標準偏差÷√標本数

この公式にのっとって、計算式を設定していきましょう。

なお、√(ルート)は、SQRT関数で算出することができます。

よって、上限信頼限界のE9には、
=$E$3+$E$8*$E$4/SQRT(E2)
オートフィルで数式をコピーして、下限信頼限界の計算式を作るため、絶対参照を使っています。

下限信頼限界のE10には、
=$E$3-$E$8*$E$4/SQRT(E3)
という計算式を設定します。
 
計算式から、上限信頼限界は、
166.318843
下限信頼限界は、
135.417629
と算出することができました。

このことから、母平均の区間指定結果は、信頼度95%とした場合。

135.417629≦μ≦166.318843
ということがわかりました。

なので、4/17の204は、外れすぎというところでしょうか。

このようなことが、関数をつかうことで、比較的簡単に算出することができます。

6/23/2020

今週のFacebookページの投稿 2020/6/15-2020/6/21

今週のFacebookページの投稿 2020/6/15-2020/6/21

<Facebookページ>

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

6月15日
Excel。GETPIVOTDATA関数。
読み方は、ゲットピボットデータで、ピボットテーブル内の値を抽出

6月16日
Excel。GROWTH関数。
読み方は、グロウスで、指数回帰分析による値を算出

6月17日
Excel。HARMEAN関数。
読み方は、ハーミーンで、数値の調和平均を算出 Harmonic

6月18日
Excel。HEX2BIN関数。
読み方は、ヘックストゥビンで、16進数を2進数に変換する

6月19日
Excel。HEX2DEC関数。
読み方は、ヘックストゥデックで、16進数を10進数に変換する

6月20日
Excel。HEX2OCT関数。
読み方は、ヘックストゥオクトで、16進数を8進数に変換する

6月21日
Excel。HLOOKUP関数。
読み方は、エイチルックアップで、横方向の表からデータを検索して抽出する

Excelテクニック and  MS-Office recommended by PC training

6/21/2020

Excel。大きなデータで折れ線グラフを作成。行を非表示にした時のトラブル回避方法【Line graph】

Excel。大きなデータで折れ線グラフを作成。行を非表示にした時のトラブル回避方法

<折れ線グラフ:行の非表示トラブル回避>

大きめなデータからExcelの折れ線グラフ(マーカー付き折れ線グラフ)を作った後に、ちょっとしたことをプラスすると便利になることがあります。

たとえば、次のような大きなデータがあります。
 
このデータを使って、マーカー付き折れ線グラフを作ってみます。

A1:B33を範囲選択します。

大きめなデータの場合は、始点(今回はA1)をクリックして、Ctrl+Shit+*というショートカットを使うと簡単に範囲選択することができます。
 
挿入タブの折れ線/面グラフの挿入にある「2-D折れ線」のマーカー付き折れ線グラフを選択します。

マーカー付き折れ線グラフが挿入されますので、セルに合わせるように、Altキーをつかって、少しグラフを大きくして、移動させます。

なお、見やすくするために、グラフエリアを塗りつぶしています。
 
ここまででしたら、何の問題もありません。
全体的に増加の推移がわかるマーカー付き折れ線グラフです。

【行を非表示にすると】

印刷などのために、グラフのもとになったデータが大きいので、5日間隔のデータとしたいので、行を非表示すると、困ることが発生しますので、確認していきます。

まず。3行目から7行目までを非表示にしてみましょう。
 
なんということでしょう!
グラフの大きさが勝手に小さくなってしまいました。

これが、困ることの一つです。

Excelのグラフは、行や列を非表示にしたり、幅を変更したりすると、それに連動して大きさを変えてしまう特徴があります。

これでは、困ってしまうので、対応方法が用意されています。
非表示はいったん戻しておきます。
 
グラフエリアをアクティブにしている状態で、書式タブの「選択対象の書式設定」をクリックします。

グラフエリアの書式設定作業ウィンドウが表示されます。
 
サイズとプロパティにあるプロパティから用途に合わせて設定を変更します。

今回は、「セルに合わせて移動するがサイズ変更はしない」を選択してみました。

改めて、行を非表示にしてみましょう。
 
設定することで、グラフの大きさが連動しなくなったことが確認できます。

他の行も非表示にしていきましょう。

また困ったことが発生しましたね。
 
非表示にした行のデータはグラフに反映されていません。

表示されているデータのみを繋いでいる状態になっています。

データは大きいので非表示にしたけど、グラフはそのままであったほしいわけです。

【非表示のデータも反映させる】

非表示のデータもグラフに反映表示させるには、グラフをアクティブにして、グラフデザインタブの「データの選択」をクリックします。
 
データソースの選択ダイアログボックスが表示されますので、「非表示および空白のセル」をクリックします。
 
非表示および空白のセルの設定ダイアログボックスが表示されます。
 
非表示の行と列のデータを表示するにチェックマークをいれます。

先程のデータソースの選択ダイアログボックスに戻りますので、OKボタンをクリックします。
折れ線グラフ。データ非表示対応
 
非表示のデータもグラフに反映された状態に戻りました。

このように、Excelのグラフには、少々クセがありますので、用途に合わせて対応してくといいですね。

6/20/2020

Excel Technique_BLOG Categoryに追加しました。2020/6/20

Excel Technique_BLOG Categoryに追加しました。

<目次サイト>

このBLOGの記事を、
カテゴリー分けにした【Excel Technique_BLOG Category】に追加しました。

Excel。積み上げ縦棒グラフの合計値を折れ線グラフを使って表示する方法

なぜか積み上げ縦棒グラフをつくると、合計値を表示させるところがないので、どうしたらいいのか?

<続きはこちら>
Excel。積み上げ縦棒グラフの合計値を折れ線グラフを使って表示する方法
https://infoyandssblog.blogspot.com/2015/06/excelverticalbargraph.html


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

抽出結果を表示する行があって、データの中から、NOを入力したら、該当するデータを抽出したい

<続きはこちら>
Excel。一覧表から行単位で抽出するならVLOOKUP関数よりもINDEX関数がおススメ。
https://infoyandssblog.blogspot.com/2015/06/excelvlookupindex.html


Excel。一覧表から行単位で抽出するならVLOOKUP関数とCOLUMN関数もおススメ。

INDEX関数と配列関数の組み合わせをつかって、VLOOKUP関数ではなくて、一覧表から行単位で該当するデータを抽出する方法以外にも、COLUMN関数という方法もあります。


<続きはこちら>
Excel。一覧表から行単位で抽出するならVLOOKUP関数とCOLUMN関数もおススメ。
https://infoyandssblog.blogspot.com/2015/06/excelvlookupcolumn.html


Excel。抽出したデータの元データの条件付き書式を使ってセルを塗りつぶしたい

抽出したデータの元データの行(レコード)のセルを塗りつぶす方法をご紹介してきます。


<続きはこちら>
Excel。抽出したデータの元データの条件付き書式を使ってセルを塗りつぶしたい
https://infoyandssblog.blogspot.com/2015/06/excelextraction.html

6/18/2020

Excel。SUMPRODUCT関数は便利と聞くけど、どんな時につかうの?【SUMPRODUCT】

Excel。SUMPRODUCT関数は便利と聞くけど、どんな時につかうの?

<SUMPRODUCT関数>

SUMPRODUCT関数は、SUM=足し算とPRODUCT=掛け算を組み合わせた関数なのですが、どのような時につかったらいいのかを今回はご紹介します。

次の表をつかって、説明します。
 
A1:B6の表は生年月日を管理している表です。

この中から、8月生まれの人が何名いるのかを算出している表です。

なお、8月生まれと入力されている、D1には、ユーザー定義の書式を設定してあります。
 
これは、SUMPRODUCT関数で使用するためです。

さて、どうのようにしたら、8月の誕生日の人を算出したらいいのでしょうか?

考え方としては、誕生月を算出して、その件数を数えれば、8月の誕生日の人が何名いるのかを算出することができます。

もし、SUMPRODUCT関数をつかわないとしたら、2段階方式で算出することになります。

たとえば、MONTH関数をつかって、誕生月を抽出させます。
 
C2には、
=MONTH(B2)
というMONTH関数をつかって、誕生日から誕生月を算出させています。

C6までオートフィルで数式をコピーしています。

そして、D2の数式は、
=COUNTIF(C2:C6,D1)
条件を指定して件数を求めるには、COUNTIF関数をつかいます。
 
範囲には、C2:C6
検索条件には、D1
D1の数値を変えることで、別の月の件数を容易に算出することができます。

ここで使用するために、D1には、表示形式を設定したわけです。

8月生まれの人を結果的には算出することができたので、目的は達成することができたわけですが、数式を2つ作らないといけないわけですね。

今回は、算出できる列があったので、よかったのですが、資料によっては、難しい場合もあります。

ところが、SUMPRODUCT関数をつかうと、一発で算出することができます。

SUMPRODUCT関数をつかって作成した数式は、
=SUMPRODUCT((MONTH(B2:B6)=D1)*1)
です。
 
SUMPRODUCT関数の引数は、配列という形で、範囲を設定していきます。

パッと見た目、「?」になってしまうので、この数式について、解説していきます。
最初の
MONTH(B2:B6)=D1
ですが、この数式だけの結果を算出してみます。
 
C2には、
=MONTH(B2:B6)=D1
と設定しております。

範囲に、絶対参照が必要なのではと思われるかもしれませんが、Office365の「Office Insider」版には、『スピル』という機能が加わったことにより、絶対参照は不要です。

なお、通常のExcelでは、絶対参照が必要になりますので、数式は、
MONTH($B$2:$B$6)=D1
と設定します。
 
条件と合致しているならば、「TRUE」を算出し、合致していないと「FALSE」を算出しますが、このままでは、結局件数を数えなければなりません。

そこで、「×1」をこの式に追加します。
 
「TRUE」や「FALSE」に「×1」すると数値に変更することができます。

ちなみに、Excelでは、TRUEを1。FALSEを0と設定されています。

ここで、算出された結果の合計値が、「2」と算出される仕組みなのが、SUMPRODUCT関数です。

6/17/2020

Excel関数辞典 VOL.31。FORMULATEXT関数~FVSCHEDULE関数

Excel関数辞典 VOL.31。FORMULATEXT関数~FVSCHEDULE関数

<Excel関数>

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

FORMULATEXT関数
フォーミュラーテキスト
数式を文字列で算出
FORMULATEXT(参照)


FREQUENCY関数
フリーケンシー
数値の頻度集計【度数分布】
FREQUENCY(データ配列,区間配列)


FTEST関数
エフテスト
F検定の両側確率を算出する
FTEST(配列1,配列2)


F.TEST関数
エフ・テスト
F検定の両側確率を算出する Excel2010以降
F.TEST(配列1,配列2)


FV関数
エフヴイ:フューチャー・バリュー
将来の価値を算出する
FV(利率,期間,定期支払額[,現在価値][,支払期日])


FVSCHEDULE関数
エフヴイスケジュール
初期投資の将来価値を算出する
FVSCHEDULE(元金,利率配列)