2/15/2018

Officeソフトのスキルアップに追加しました。2018/02/15

Officeソフトのスキルアップに追加しました。

<目次サイト>

このBLOGの記事を、
目次サイトの【Officeソフトのスキルアップ】に追加しました。


条件付きで順位をつける方法を知りたいという質問
https://infoyandssblog.blogspot.jp/2016/07/excelconditional-order.html


円グラフを使って1日のスケジュールを作りたい
https://infoyandssblog.blogspot.jp/2016/07/excelpie-chart1.html


積み上げ横棒グラフの合計値を表示させる方法
https://infoyandssblog.blogspot.jp/2016/06/excelhorizontal-bar-graph.html

2/13/2018

Excel。マクロ022。データ削除のパターンを確認してみよう【Delete】

Excel。マクロ022。データ削除のパターンを確認してみよう

<Excel VBA>

次の表があります。

1行目に、見出し行があって、A列には、見出し列。
そして、四半期ごとに小計が算出されていて、
最終行に総合計の行があるという表です。

この表を毎年使いまわすので、データを削除するのですが、結構面倒。

今回はサンプルなので、B:Dの3列ですが、支店数が多かったりしたら、
いちいち範囲選択をして削除。

しかも、小計行の数式は削除したくないわけですね。

そこで、Excel VBAを使って効率的に作業できないかなぁ~と考えたわけです。

さて、実際にどのように構文を作ればいいのでしょうか?

仮に次のような構文だとどうなるでしょうか?
Sub データクリア01()
    Range("a1").CurrentRegion.ClearContents
End Sub
では、実行してみましょう。

ありゃま、見出し行も見出し列も数式も関係なく消えちゃいましたね。

Range("a1").CurrentRegion.ClearContents
は、Range("a1").CurrentRegion =A1から接続しているデータ(表)を、
ClearContents=消去という構文ですから、
当然全部消えちゃったわけですね。

なので、ちゃんと、
見出し行と見出し列を残すように指示してあげないといけないわけです。

では、次のように構文を変えてみました。

Sub データクリア02()
    Range("b2", Range("b2").End(xlDown).End(xlToRight)).ClearContents
End Sub

では、どうなるでしょうか?

ちなみに、次のような構文でも同じになりますよ。

Sub データクリア03()
    Range("b2", Range("b2").End(xlDown).End(xlToRight)) = ""
End Sub

一応説明しておきますと、
Range("b2").End(xlDown).End(xlToRight)は、
B2を起点に、End(xlDown)=下方向の最後のデータのセルの
End(xlToRight)=一番右側のセル番地という意味ですね。

しかしながら確かに、見出し行と見出し列は残すことができましたが、
小計や総計の計算式は消えてしまいました。

ということは、細かく数値データのところを選択して
削除するようにしないといけないのでしょうか?

しかし、細かく範囲選択を指示するのは、
面倒ですし、もし表自体の大きさが変わってしまうケースもあったりしたら、
その都度修正する必要も発生しますので、効率が悪くなります。

では、次のように修正してみましょう。

Sub データクリア04()
    Range("b2", Range("b2").End(xlDown).End(xlToRight)).SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents
End Sub

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

今回は、見出し行も見出し列も、
そして、数式のセルを残して数値のデータのみを削除することができていますね。

では、説明しておきましょう。
新しく加わったのは次の構文ですね。

SpecialCells(xlCellTypeConstants, xlNumbers)

SpecialCellsメソッドを使用すると、
指定した条件に該当するセルを取得することができます。では、今回の条件は、

xlCellTypeConstants
このxlCellTypeConstantsは、定数が含まれているセルという意味です。

さらに、xlNumbersというValueの設定値は、”数値”を意味します。
つまり、『数値の入っているセル』という意味になります。


Excel VBAにまだ慣れていないと、
範囲選択の操作イメージがあると思いますが、
SpecialCellsメソッドは、何かと使い勝手がいいので、
覚えておくといいメソッドですね。

ちなみに、シートにほかの表とかなければ
次のような構文でも同じように処理してくれます。

Sub データクリア05()
    Cells.SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents
End Sub

2/12/2018

Excelのセミナーを開催します。『Excel マクロVBA:CSVやテキストデータを読み込ませる時のテクニック』【Seminar】

Excelのセミナーを開催します 開催日2018/3/3

<ご案内>

Excel マクロVBA:『CSVやテキストデータを読み込ませる時のテクニック
セミナー好評つき第5弾を開催します。

このセミナーのコンセプトは、少しExcelを使っているけど、
さらにテクニックを知ることで、
通常業務での【時短】や【改善】を促す・できるような
アイディアをご紹介するセミナーです。

今回は、前回第4弾にご参加いただいた方からのリクエストに
お答えする内容になっております。

詳細は、下記URLからご確認ください。
YandSシステムズ
http://yandss.p2.weblife.me/Works/works.html
また、主な情報は下記に記載しておきます。

▼開催日時
2018年3月3日 土曜日
13時00分~16時00分(適時5分程度の休憩をいれます。)

▼会場
東京都新宿区歌舞伎町1-16-3 新宿スクエアビル 3階 107号室
新宿東口会議室

▼受講対象者(以下の条件すべてに該当する方)
・キーボードからアルファベットの入力が苦労なく行える方
・Excelのワークシート上でIF関数ぐらいの数式を作れる方
・Excel 2016, 2013, 2010
 いずれかのインストールされているWindowsパソコンをご持参いただける方

▼定員
8名様

▼受講料
5,000円
お支払いは、当日会場でお願いいたします。

▼講座の主な内容
~Excel ExcelVBAを使った事務作業の効率化~
※前回ご参加いただきました方からの現場で困っている問題にご提案

【CSVやテキストデータを読み込ませる時のテクニック】
ExcelにCSVファイルやテキストファイルのデータをExcel VBAを使って
読み込ませる時に、なかなか上手くいかない!というお声から、
読み込ませる方法をご紹介


▼講座当日にご持参いただくもの
・Excel 2016・2013・2010
 いずれかのインストールされているWindowsパソコン
・パソコンの電源アダプター
・筆記用具

▼講師
矢光 利幸(やこう としゆき)
このBLOGの著者です。

▼注意点
・Excel 2016・2013・2010
 いずれかのインストールされているWindowsパソコンを、必ずご持参ください。

・この講座は、Excelを操作したことのない初心者の方を対象としておりません。
 限られた時間での講座となっておりますので、
 誠に勝手ではありますが、
 『アルファベットの入力に苦労する方』
 『ExcelのIF関数を使えないレベル方』
 の参加は、ご遠慮願えれば幸いです。
 後日開催予定のExcel入門セミナーにご参加して頂いてからご参加願えると幸いです。

・Excel マクロVBAの初心者の方を対象としておりますので、
 詳しい方は『物足りない』内容となっていますので、ご注意ください。

・授業の妨げになる行為を行う場合は、即時退出していただきます。

▼キャンセルについて
 キャンセルされる場合は、お問い合わせ後に届きます、メールアドレスに
 キャンセルのご一報をお願いいたします。

▼お申込みの流れ
1.お問い合わせのフォームに必要事項を入力後、送信してください。(仮申込です)
2.ご予約が取れたというメールを返信させていただきます。(正式申込完了)
 こちらからのメールはgmail.comドメインからお送りします。
 迷惑メールのフィルタリングを行っている方は事前に解除をお願いします。
 基本、24時間を越えても返信がない場合は、再度ご連絡ください。
3.当日会場にお越しください。

お申込みやご質問などは
下記URL先の「お問い合わせ」のフォームからお願いいたします。
また、このBLOGの「お問い合わせ」ボタンからでもOKです。

YandSシステムズのお問い合わせページ
http://yandss.p2.weblife.me/contact_us.html

2/11/2018

今週のFacebookページの投稿 2018/02/05-2018/02/11

今週のFacebookページの投稿 2018/02/05-2018/02/11

<Facebookページ>

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

2月05日
Excel。1枚のシートは、Excel2007~だと、列は16384。
行は1048576。セルは、17179869184個です。
171億を越えるセルって…凄すぎる。

2月06日
Excel。ファイルの保存で、
ブックの名前に使えない文字は、¥ / : * ? " < > | [ ] です。
これは、パソコンのルールですので、そちらと共通ですね。

2月07日
Excel。Excel2010では、
バックステージビューという印刷設定と印刷プレビューが合体した画面になります。
旧バージョンから使用していた人はだいたい、ビックリしますね。

2月08日
Excel。オートフィル機能は、Excelの基本操作です。
どんどん使っていきたいですね。

2月09日
Excel。オートフィル機能に追加したい場合は、
ファイルタブ→オプション→詳細設定→ユーザー設定リストの編集ですね。

2月10日
Excel。A1+A2という場合でも、+で計算するのではなく、
SUM関数を使用する方がいいですね。
もしA1やA2に"-"などの文字が入ってきても
SUM関数ならば計算してくれますね。

2月11日
Excel。オートフィル機能で、下方向にドラッグするのは、
大変なので、オートフィルハンドルをダブルクリックすると、
一番下まで処理してくれますね。

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

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

2/10/2018

Excel。集計横棒グラフの背景を平均値で色分けするグラフを作ってみよう【Horizontal bar chart】

Excel。集計横棒グラフの背景を平均値で色分けするグラフを作ってみよう

<集計横棒グラフ>

次のような集計横棒グラフを作るとしたらどうしたらいいのでしょうか?

集計横棒グラフは問題ないとしても、
プロットエリアを、塗りつぶしていますね。

この塗りつぶしは、平均値で塗り分けをしています。

最近、この手の質問が多くあって、
「図形の四角を使っているけど、数値が変わるたびに大変なんです」
ということで、今回は、
平均値が変わっても自動的に塗り分けしてくれるグラフを作っていきましょう。

Excelでグラフを作るときには、
グラフを作るための表をいかにアレンジして作るかにかかっています。

そこで、今回は次のような表を使って、
集計横棒グラフ自動プロット塗りつぶしグラフを作っていきます。

A列は店舗名
B列は売上高
このB列が集合横棒グラフになります。
C列は、平均値を算出。
C3の数式は、=AVERAGE($B$3:$B$6)
D列は、C列の平均値まで塗りつぶした残りを塗りつぶすために、
売上高が384なので、横軸の最高値を400に固定させた場合、
400-平均値の値を算出しています。

こうすることで、残りの塗りつぶしを設定することが可能になります。

A2:D6を範囲選択して、集合横棒グラフを挿入していきましょう。

このような集計横棒グラフが表示されましたね。

凡例を下側に移動して、売上高の横棒グラフをクリックします。

グラフ要素が、系列”売上高”になっていることを確認して、

選択対象の書式設定をクリックして、
データ系列の書式設定ダイアログボックスを表示しましょう。

使用する軸を、「第2軸」に変更して、閉じるボタンをクリックしましょう。

グラフはこのように変わりました。

凡例の売上高を残して、削除して、
主横軸と第2横軸の最高値を400に変更しましょう。

グラフのアレンジはここまで進んできました。

背景の塗りつぶしを作っていくので、
平均値の横棒グラフをクリックして、
グラフの種類を積み上げ横棒グラフに変更していきます。

積み上げ横棒グラフが選択されています。

グラフの要素が、「系列 "平均値"」になっていることを確認して、
選択対象の書式設定をクリックしましょう。

要素の間隔を「なし」にして、閉じるボタンをクリックしましょう。

あとは、塗りつぶしの色を変更してあげて、グラフの上側に表示されている、
第2軸横軸を見えなくしてあげれば、完成ですね。

第2軸横軸をクリックして、グラフの要素が、
第2軸横(値)軸になっているのを確認して、
選択対象の書式設定をクリックして、
軸の書式設定ダイアログボックスを表示しましょう。

目盛りの種類を「なし」。
軸ラベルを「なし」。
あとは、閉じるボタンをクリックしましょう。

これで完成しましたね。

今回はプロットエリアを平均値で色分けするケースで作ってみましたが、
アイディアで、色々使えるテクニックのひとつですね。

2/09/2018

Excel関数一覧表にアイテムを追加しました。【function:2018/02/09】

Excel関数一覧表にアイテムを追加しました。

<Excel関数一覧>

「Excelテクニック and MS-Office recommended by PC training」の目次サイト
「Officeソフトのスキルアップサイト」のExcel関数一覧表に次のアイテムを追加しました。

WEEKNUM  ウィークナンバー
日付の週の番号を算出

ISOWEEKNUM アイエスオーウィークナム
ISO週番号を算出する

EDATE イーデイト
何か月後の日付を算出する

EOMONTH  イーオマンス
月数後の月末日を算出する

WORKDAY  ワークデイ
稼働日数後の日付を算出

WORKDAY.INTL  ワークデイ・インターナショナル
週末(曜日指定OK)と祝日を除いた日数後の日付を算出

NETWORKDAYS  ネットワークデイズ
日付の間の稼働日数を算出

NETWORKDAYS.INTL  ネットワークデイズ・インターナショナル
週末(曜日指定OK)と祝日を除いた日付間の日数を算出

DATEDIF デイトディフ
2つの日付の間の年・月・日数を算出する

DAYS デイズ
2つの日付の間の日数を算出

DAYS360 デイズ360
1年を360日として2つの日付の間の日数を算出

YEARFRAC  イヤーフラクション
2つの日付の間の期間を年数で算出

Officeソフトのスキルアップサイト
https://sites.google.com/view/infoyandss/ホーム

2/07/2018

Excel。ドットヒストグラムを使ってデータごとの頻度をグラフ化しよう【Dot Histogram】

Excel。ドットヒストグラムを使ってデータごとの頻度をグラフ化しよう

<ドットヒストグラム>

ヒストグラムはデータの区間ごとの頻度をグラフ化したものですが、
データごとの頻度をグラフ化しようとすると、
わかりにくいグラフになってしまいます。

では確認してみますので、次の表を用意します。

30件のデータで、テストの点数のデータです。

これをもとにヒストグラムにしてみるとどうなるのか?

ヒストグラムといっても、単なる棒グラフでグラフの幅を太くしただけですね。
まずは、得点が何回登場しているのかを算出しなければいけませんので、
C2をクリックして、COUNTIF関数ダイアログボックスを表示しましょう。

範囲には、
$B$2:B2
検索条件には、
B2
OKボタンをクリックして、オートフィルを使って数式をコピーしましょう。

C2の数式は、
=COUNTIF($B$2:B2,B2)

この最初の起点を絶対参照にすることで、
起点から範囲を伸ばしていくことができます。

61点をみると、最初は、B2:B2なので、
1回ですが、B5で再度登場した時には、
B2:B5というように範囲選択が伸び、
そのなかで、B5の値の登場回数を算出しているわけです。

この数式の方法を覚えておくと、色々使えますので、便利です。

B2:C31を範囲選択して、集合縦棒グラフを作ります。

凡例を削除しておきましょう。

横軸が得点にしたいのですが、二つの数値のグラフと勘違いしているので、
データ範囲を修正する必要がありますね。

グラフツールのデザインタブにあるデータの選択をクリックしましょう。

凡例項目の系列1は不要ですので、削除します。

横(項目)軸ラベルの編集ボタンをクリックして、
軸ラベルダイアログボックスがひょうじされますので、

B2:B31を範囲選択して、OKボタンをクリックしましょう。

縦棒グラフをクリックして、
データ系列の書式設定ダイアログボックスを表示しましょう。

系列のオプションにある、要素の間隔を”なし”にしてみると、
グラフはこのようになりました。

ヒストグラムが出来上がったとおもったら、
横軸の並びがバラバラなので、B列の得点を昇順に変えましょう。

ヒストグラムは出来たのですが、よくわからないグラフになってしまいました。

本来は30点台・40点台というように10点おきにして、
区間の頻度をグラフ化するのですが、
個数だと少しわかりにくいグラフになってしまいます。

そこで、登場するのが、『ドットヒストグラム』です。

このようなグラフが、ドットヒストグラムです。

早速作っていくことにしましょう。

B2:C31を範囲選択して、今度は、散布図(マーカーのみ)を選択します。

すると、次のグラフが作成することが出来ます。

あとは、見栄えを整えていきますので、凡例を削除して、
横軸の書式設定を使って横軸を調整していきましょう。

今回は、30点より下の得点はないようなので、
最小値は、30
最大値は、100
目盛間隔は、10にします。

続いて、縦軸も修正しますので、
縦軸の軸の書式設定ダイアログボックスを表示しましょう。

最小値は、0
最大値は、4
目盛間隔は1にしましょう。

最後に、マーカーを見やすくしますので、
マーカーをクリックして、選択対象の書式設定をクリックして、
データ系列の書式設定ダイアログボックスを表示しましょう。

マーカーのオプションから、組み込みを使ってマーカーを変更しましょう。

用途に合わせて、サイズも大きくして、
マーカーの塗りつぶしを使って色を変えるといいですね。

これで、ドットヒストグラムが完成しました。

このようにデータの区間ではなくて、
データごとの頻度を確認することがあれば、
ドットヒストグラムを使ってみてはどうでしょうか?