12/11/2016

Excel。COUNTIF。区分と区分ごとの通し番号で構成されたコードを作りたい。


Excel。区分と区分ごとの通し番号で構成されたコードを作りたい。

<COUNTIF関数とTEXT関数>


今回は、件数が多くなかったので、気にせずに管理していた表があるけど、
いよいよ、件数が多くなり、
ちょうどいい機会なので、
区分ごとに通し番号を振り直して管理したい表にしようと思ったのですが、
なんか面倒な上、うまくいかないので、どうにか、
いい方法はありませんか?というリクエストでした。

とりあえず、次の表を見てもらいましょう。

C列の新コードというのを、区分と、
その区分の通し番号をハイフンで結合したコードなのですが、面倒というのは、
ハイフン以降が0(ゼロ)がついている通し番号という点ですね。

手で入力するとなるとしたら、本当に面倒ですよね。

そこで、今回はまず、区分ごとの通し番号を作るところからやってみましょう。
数式が煩雑になりそうですので、とりあえず、E列を作業列として、算出してみましょう。

今回のように、そのデータが、範囲の中でいくつあるのか?というように数える場合には、COUNTIF関数がオススメなんですね。

それでは、E3にCOUNTIF関数ダイアログボックスを表示しましょう。

範囲には、$B$3:B3
範囲の始点を絶対参照にして、固定させておいて、
その始点からの範囲内ということが表現できます。
SUM関数をつかって累計を算出する時と同じ方法ですね。

検索条件には、B3
では、OKボタンをクリックして、オートフィルで数式をコピーします。

ちなみみ、E3の数式は、

=COUNTIF($B$3:B3,B3)


これで、区分ごとの通し番号を作成することが出来ました。
念のため確認してみましょう。
D3の佐々木さんの区分はTHKで、次にTHKで登場するのが、
D6の渋谷さんでE6に算出されている数値は2になっていますね。

その後、品川さん・田町さんとTHKに所属してそれぞれ数値が増加していっていますね。

あとは、これを結合させるのですが、単に=B3&”-“&E3と&を使って結合してしまうと、
THK-1というように0(ゼロ)がないわけです。

THK-001としなければいけませんので、0(ゼロ)を追加入力する必要がありますし、
当然通し番号が10のように二桁になったら、0は一つになるようにしなければいけません。

そこで、結合するE列にTEXT関数を使って、0(ゼロ)が表示されるようにしてあげます。

つまり、TEXT(E3,"000")と数式を作成してあげれば、桁数に左右されることなく、
0(ゼロ)付きの通し番号を作ることが出来ます。

では、C3をクリックして、次の数式を作っていくことにしましょう。

=B3&"-"&TEXT(E3,"000")

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

頭から、0(ゼロ)でスタートするならば、
表示形式のユーザー定義を使えばいいのですが、
今回のように、データの途中に0(ゼロ)がある場合には、
TEXT関数を使って結合させるということを知っているといいかもしれませんね。

12/08/2016

Googleスプレッドシート。基本的なスケジュール表を作ってみよう。


Googleスプレッドシート。基本的なスケジュール表を作ってみよう。

<Googleスプレッドシート>


Googleスプレッドシートを使ってみたら、Excelのようにうまく出来ない、
作れない、ということもあって、最近お話を聞くことになってきました。

そこで、今回は、基本的なスケジュールの作り方を通して、確認していくことにしましょう。

まず、次のように入力しておきます。

まずは、A4:C4を中央揃えにして、

セルを塗りつぶしてみましょう。

日付は、A2には、年。B2には、月の数値を入力したら、
自動的にカレンダーが変わるようにしていきましょう。

A2には、2017。B2には、1。と入力します。

2017年と入力してしまうと、Excelと同様に文字になってしまうので、
計算では使えなくなってしまいますので、
Excelでいうところの、表示形式のユーザー定義を使って”年”を表示していく事にします。

表示形式の詳細設定ボタンをクリックして、
表示形式の詳細設定のカスタム数値形式をクリックします。

カスタム数値形式のダイアログボックスが表示されますので、
0年
と入力して、適用ボタンをクリックします。
同じように月のほうも、
0月
として設定しましょう。

A5にDATE関数を使って、日付を算出させてみましょう。

DATE関数は、Googleスプレッドシートにもあります。

ただし、Googleスプレッドシートには、関数挿入ダイアログボックスがありませんので、
手入力で数式を作成する必要があります。

A5の数式は、

=DATE($A$2,$B$2,row()-4)

Excelと同じようにヒントが登場します。

日のところで、ROW関数を使っております。
こうすることで、次のセルで+1するなんてことはしなくても、
数式をコピーするだけで済みますね。

それでは、オートフィルも使えますので、31日まで数式をコピーしましょう。

月末の処理は、次回後日ご紹介してみたいと思います。

B列の曜日ですが、
B5に、A5の数値を参照する数式、=A5として、表示形式を曜日に変えるでもいいのですが、
土曜日に色を塗るというような条件付き書式を設定する場合には、
表示形式ですと面倒なので、ここは、TEXT関数を使って、曜日を表示させてみましょう。

実は、ここがExcelとGoogleスプレッドシートが違うところなのです。

Excelだと、=TEXT(A5,”aaaa”)とすると、日曜日と表示されるのですが、
Googleスプレッドシートだと、

=TEXT(A5,”dddd”)

と数式を設定します。
aaaとか、aaaaはありません。
それでは、B5に、
=TEXT(A5,"dddd")
と数式を作成してオートフィルで数式をコピーしましょう。

なお、下方向へのオートフィルを使った連続コピーですが、データが無いとき、
つまり、一度目ならば、マウスカーソルが+で、
ダブルクリックすれば、31日のセルまでコピーをしてくれますが、
二度目の場合は、出来ませんので、ドラッグ操作でコピーしなければいけません。

ここも、Excelと異なっていますね。

次回は、この続きを紹介します。

12/05/2016

Excel。財務関数シリーズ。目標金額までの積立金額を求めるPMT関数


Excel。財務関数シリーズ。目標金額までの積立金額を求めるPMT関数

<PMT関数>


今回取り上げる、財務関数シリーズは、目標金額までの積立金額を算出することが出来る、

PMT関数。

PMTは、PayMenT で、ペイメントだそうです。

今回使う表は次のような表です。

今回のPMT関数は、ペイということもあって、支払い額を求めるわけですが、
前回の財務関数シリーズ同様に、
まずは、年利は、0%にしておいてから、数式を作成することをお勧めしますね。

でないと、PMT関数の動きがよくつかめません。

それでは、B6にPMT関数を早速作っていきましょう。

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

利率は、B2/12
これは、今回「年利」になっています。
わかりやすいように、0%にしておりますが、通常はここに利息とかが入るわけですが、
最終的に月々いくら積立てればいいの?ということが知りたいわけですので、
「年利」を月々に変える必要がありますので、12で除算します。

期間は、B3*12
これは、何回支払うのか?積立回数が何回なのか?ということになります。
今回は、積立期間(年)ということになっていますので、
12倍する必要がありますので、12で乗算しております。

現在の価値は、0(ゼロ)
当たり前ですが、0(ゼロ)円から今回は、積立スタートですので、0(ゼロ)。
例えば、頭金とか、先に積立てておいて、ということがあれば、
その数値を入力しておきましょう。

将来の価値は、B4*-1
この将来の価値が、「目標金額」というわけですね。
そして、財務関数シリーズに共通しているのですが、
自分の手元から無くなっていくということで、
算出結果がマイナスの数値で表示されてきてしまいます。

これでは、わかりにくいと感じる人もいるようですので、
ここで、-1(マイナス1)をかけておきます。

こうすることによって、算出されても、結果はプラス表示になるというわけです。

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

10万円を2年かけて、貯めるには、月々4167円必要という結果が算出されました。

結果は、通貨スタイルが設定された状態で算出されてきます。

ホントにあっているの?と、疑心暗鬼な方は、
10万を24で割ってみると、4166.66666…と割り切れませんが、
お金なので、0.6円はありませんので、繰り上げをして、
4167円という結果を算出しているわけですので、
算出された金額はあっているということになります。

毎月4200円を2年間。どうにか貯めることが出来れば、10万円が貯まるわけなんですね。
ヘソクリではありませんが、貯めてみようかな?

12/04/2016

今週のFacebookページの投稿 2016/11/28-2016/12/04

今週のFacebookページの投稿 2016/11/28-2016/12/04

<Facebookページ>

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

11月28日
Excel。weeknum関数はその年の何週目にあたるか算出関数です。

11月29日
Excel。workday関数は土日・休日・祝日を除いた○日後の日付を算出関数です。

11月30日
Excel。networkdays関数は土日・休日・祝日を除いた日数を算出関数です。

12月01日
Excel。datedif関数は満年齢などの指定した期間を算出関数です。

12月02日
Excel。phonetic関数はふりがな抽出関数です。

12月03日
Excel。left関数は文字列の左端から抽出関数です。

12月04日
Excel。right関数は文字列の右端から抽出関数です。

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

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

12/02/2016

Excel。Shortcut_key。ショートカットキーは使ってみて覚えるのが手っ取り早い

Excel。ショートカットキーは使ってみて覚えるのが手っ取り早い

<Excelショートカットキー>


講習で、
「ショートカットを教えてほしい。」
というご要望を必ずと言っていい程リクエストをいただきます。

確かに、知っているだけでも、Excelが使いこなせている感じも出てきますし、
当然、作業効率も改善しやすい点でもありますよね。

ただ、紹介しただけでは、覚えにくいし、わかりにくいのが実態ですね。

使わないと、たんなるキーの暗記になってしまいますので、
今回は、実践っぽいケースを使って、ショートカットキーのいくつかを、ご紹介していきます。

まぁ、次のショートカットキーは、基本的なものなので、ご存知だと思いますが、念のため
確認しておきましょう。

Ctrl + c コピー
Ctrl + x 切り取り(カット)
Ctrl + v 貼り付け(ペースト)

コピー&ペーストは、ショートカットキーの代表の代表でしょうね。
コピー&ペーストを省略して、【コピペ】という言い人もいますよね。
けど、カット&ペーストを省略して、【カトペ】とは聞いたことありませんね。

まぁ、どうでもいいので、次の4つも基本中の基本ですね。

Ctrl + z 元に戻す
Ctrl + y やり直し
 
Ctrl + s 上書き保存
Ctrl + a 全選択

さて、次の表があります。
ここからは、この表を使って、知っていると便利なショートカットを紹介して行きます。

E2に、今日の日付を入力してみます。今日の日付もショートカットキーがあります。
Ctrl + ;(セミコロン)
なお、TODAY関数のように自動更新ではありませんので、注意してください。

この日付を元号表示に変えたい場合は、
セルの書式設定ダイアログボックスを表示させますよね。
Excelのショートカットキーで一番役に立つショートカットキーが、
Ctrl + 1
セルの書式設定ダイアログボックスを表示するショートカットキーです。

何かと良く使う、セルの書式設定ダイアログボックス。知っておくと便利ですよ。

同じぐらい便利なのは、
Shift + F3
これは、関数の挿入ダイアログボックスを表示してくれるショートカットキーです。

E6のような合計値。ここに通貨スタイルを設定したい場合には、
Ctrl + $
つまり、Ctrl + Shift + 4
これで、通貨スタイルを設定することが出来ます。

E9:E11の数値に、桁区切りスタイルを設定したい場合には、
Ctrl + !
つまり、Ctrl + Shift + 1

ちなみに、表示形式を解除。つまり、表示形式を標準に戻すには、
Ctrl + ~
つまり、Ctrl + Shift + ^
このショートカットキーは便利ですね。

G8:I11の表を範囲選択するのは、
Ctrl + *
つまり、Ctrl + Shift + :(コロン)
表を一度に範囲選択できるので、これも便利ですね。

なお、罫線の格子ショートカットキーはありますか?と聞かれるのですが、
残念ながら格子はありません。

とりあえずは、このぐらい知っておくと、
結構サクサク作業効率がアップするように思いますので、Excel。
少し慣れてきたら、ショートカットキー。使ってみてください。

12/01/2016

2016年11月の閲覧数TOP10をご紹介

2016年11月の閲覧数TOP10をご紹介

<TOP10>

2016年11月。
皆様に閲覧していただいた項目のTOP10をご紹介させていただきます。

1位
Excel。Graph。縦棒グラフに自動的に平均値の線を引くにはどうしたらいい?
https://infoyandssblog.blogspot.jp/2015/03/excelgraph.html

2位
Excel。アンケート結果を年代別で集計する方法
https://infoyandssblog.blogspot.jp/2013/12/excel-rounddowncountif.html

3位
Excel。折れ線グラフの間を塗りつぶしたいけど、どうしたらいいの?
https://infoyandssblog.blogspot.jp/2015/12/excelgraph.html

4位
Excel。B/S(貸借対照表)をグラフで作ってみよう!
https://infoyandssblog.blogspot.jp/2013/07/excelbs.html

5位
Excel。折れ線グラフを交点0からスタートさせるには?
https://infoyandssblog.blogspot.jp/2013/07/excel0.html

6位
Excel。アンケートの複数回答の集計を効率よく算出する方法 COUNTIF編
https://infoyandssblog.blogspot.jp/2015/05/excelquestionnairecountif.html

7位
Excel。マイナスデータの棒グラフを作ると綺麗にできないのでアレンジしてみる
https://infoyandssblog.blogspot.jp/2015/05/excelgraph.html

8位
Excel。y=2x。一次元方程式のグラフの作り方。
https://infoyandssblog.blogspot.jp/2014/02/excely2x.html

9位
Excel。出勤時間を自動で塗りつぶす日勤シフト表を作ってみる。
https://infoyandssblog.blogspot.jp/2015/05/excelroster.html

10位
Excel。カレンダー祝日がわかるようにセルに色をつけてみよう
https://infoyandssblog.blogspot.jp/2013/11/excel-match.html

11/29/2016

Excel。AVERAGEIFS。年代別の平均年齢を算出したいけど、どうしたらいいでしょうか?


Excel。年代別の平均年齢を算出したいけど、どうしたらいいでしょうか?

<AVERAGEIFS関数とIFERROR関数>


なんでも、社員登録などの名簿で、年代別の平均年齢を算出したいけど、
ピボットテーブルを使っても、フィールドを作らないといけないし、かといって、
条件をアレコレ別の列に作って算出させようとしても、
なんか大変で、うまくいかないので、何かアイディアはありませんか?だそうでして、

確かに部署によっては、会社の将来を見越して、
どこの年代を中途で採用するか?なんてこともあるのでしょうね。

次のようなことをやりたいわけなんですね。

年代別ごとにその件数を数えるということは、
一の位を切り捨てれば、比較的簡単なのですが、
今回は、年代別の平均値を求める必要があるわけです。

けど、そもそも、年代別の平均値を算出したいだけということに着目してみましょう。

要するに、条件付きで平均値を算出できればいいわけです。

ポイントとなるのは、「Excelは、期間の算出が比較的苦手」ということなのです。

そこで、AVERAGEIFS関数を使ってみたいと思います。

AVERAGEIF関数でもいいように思いますが、AVERAGEIFS関数にするのには、
例えば、20歳代の場合、条件は20歳から29歳。

つまり、「20以上30未満」という条件になるわけです。

Excelには、Accessのような、between~andのようなものがありませんので、
20以上と30未満という2つの条件が発生します。

そのため、AVERAGEIF関数の条件が一つのものでは、
算出することが出来ないというわけです。

では、早速求めていきましょう。
F2をクリックして、AVERAGEIFS関数ダイアログボックスを表示しましょう。

平均対象範囲ですが、年齢のデータですから、$C$2:$C$21

条件範囲1は、$C$2:$C$21

条件1は、E2に10と入力されていますので、
10歳以上ということになりますので、">="&E2

">="は、ダブルコーテーションをつけないといけませんね。
そして、&を使って結合させます。
条件を">=E2"としてしまうと、文字になってしまいますので、注意が必要ですね。

条件範囲2は、$C$2:$C$21

条件2は、"<"&E2+10

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

なお、数式は、
=AVERAGEIFS($C$2:$C$21,$C$2:$C$21,">="&E2,$C$2:$C$21,"<"&E2+10)
オートフィルを使った数式をコピーしてみましょう。

10歳代と60歳代はデータがないので、#DIV/0!のエラーが表示されてしまっていますので、
ここは、IFERROR関数を使って、数式を修正していきましょう。

修正後の数式は、
=IFERROR(AVERAGEIFS($C$2:$C$21,$C$2:$C$21,">="&E2,$C$2:$C$21,"<"&E2+10),"")
修正したら、オートフィルで数式をコピーしておきましょう。

これで、完成しました。

一見、見た感じ、長い数式になってしまいましたが、
このようにAVERAGEIFS関数を使ってあげれば、
「ここからここまで」というデータの平均を算出することが出来ますよ。