5/31/2016

今週のFacebookページの投稿 2016/5/23-2016/5/29

今週のFacebookページの投稿 2016/5/23-2016/5/29

<Facebookページ>

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

5月23日
Excel。グラフ。軸の表示単位を変更したい時には、
軸の書式設定ダイアログボックスの表示単位を変更するといいですよね。

5月24日
Excel。グラフ。グラフ同士で比べるときには、必ず、最小位と最大値は同じ数字にしないと、
グラフの雰囲気が変わってしますので、注意しないといけないですね。

5月25日
Excel。ショートカット。F4キーで、直前の作業を繰り返して、実行することができますね。

5月26日
Excel。グラフ。横軸の文字がナナメとか見えない時は、グラフサイズを大きくすると、
修正することができますし、フォントサイズを小さくするといいですね。

5月27日
Excel。シェアとか構成比を算出するときに、
絶対参照・相対参照・複合参照という考えが必要になりますね。

5月28日
Excel。セルを固定したい時には、絶対参照という考え方が必要になりますね。

5月29日
Excel。絶対参照を設定するときには、F4キーを1回クリックすると設定できますね。

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

https://www.facebook.com/exceltechniqueandmsoffice/

5/29/2016

Excel。Display format。あれれ?ちゃんと入力したはずなのに、ちゃんと表示してくれないという質問

Excel。あれれ?ちゃんと入力したはずなのに、ちゃんと表示してくれないという質問

<表示形式とExcelの特徴>


新人研修もひと段落してきましたが、新人研修でExcelを勉強しても1日ぐらいでは、
現場で使っている方々からすれば、まだまだな訳でして、よく新人さんから質問があって、
答えるのに困りそうなものを今回まとめて書いてみようと思います。

何気ない操作。入力でも、あれれ?なんてことが結構Excelでもあるんですよね。

ということで、まずは、改めてではありますが、表示形式の代表格。
時間の表示からおさらいしてみましょう。

下記の表があります。

まず、サンプルデータですので、1時間休憩とかは、置いておきますので、ご了承ください。

お馴染みの、時間計算ですね。

11時間を3回ですから、当然33時間のはずが、
なぜか、合計すると、9:00と表示されてしまっていますね。

ちなみに、D6には、
=SUM(D3:D5)
という数式が設定されています。

数式として何か不自然なところは全くありません。
これは、Excelの特徴なのですが、24時間以上をそのままの設定では、表示できないのです。

Excelは、1日を1としているために、Excelの内部としては、
24を越えると翌日の何時ということになってしまうのです。

そこで、改善するためには、【表示形式】を変更する必要があるわけですね。

では、セルの書式設定ダイアログボックスを表示しましょう。

表示形式タブの分類をユーザー定義にすると、種類には、h:mm と表示されています。

このhの前後に[ ]を入力して、[h]:mmとしてあげて、OKボタンをクリックしましょう。

これで、ちゃんと表示されて、33時間になりましたね。

このように、表示形式を対応させないといけないケースというのがExcelにはあります。

続いてもおなじみかな?
あまり、Excelで文書を作るのはどうか。とは思うのですが、現場としては、
作らなければいけない必要性も出ます。

そこで、次の文書の下に、(1)から始まる文書を入力したいとします。

A11をクリックして、(1)と入力すると、あれれ!なんと、-1と表示されてしまいました。

実はこれも表示形式が影響しているのです。

日本だとマイナスの数値には▲を付けることでマイナスを表現するのですが、
英語圏の方々は、()カッコで、マイナスを表現するわけです。

つまり、Excelは、マイナスの数値が入力されたと勘違いしちゃったわけなんですね。

これを回避するには、’ シングルコーテーションを( の前に入力してあげれば、
文字列になりますが、いちいち’ シングルコーテーションを入力するのは面倒なので、
表示形式で文字列に設定しておくというのもありですね。

設定してあげれば、そのまま入力できますよ。


では、最後は次のようなメールアドレスを管理する一覧を作りたいとします。

G3にドメイン名の@gmail.com と入力して、H3にメールアドレスを表示させたいリストなので、
G3に @gmail.com と入力してみると、途中で関数挿入みたいになってきて…

そのまま入力してみると…

【その関数は正しくありません。】と表示されてくるのです。

っていうか、関数を入力したつもりはなくて、ただ文字を入力しただけなんですが…

これ、メールアドレスの一覧を作っている方からよくご質問を受けるものなんですね。

昔からのExcelを使っている、【猛者】の方々はご存知だと思いますが、表計算ソフトといったら、
今はExcelですが、昔はLotus1-2-3 というのがメジャーな表計算ソフトだったのです、でね。

このLotus1-2-3だと、@(アットマーク)で関数がスタートした訳なんですね。
Excelは、その互換性を保つために、@が入力されると、
関数が入力されはじめたと勘違いしちゃうわけです。

ちなみに、Excelの数式は=(イコール)から始まりますが、
Lotus1-2-3では、+(プラス)から数式が作れたので、
Excelもイコールの代わりにプラスで数式を作り始めても計算してくれます。

では、どうしたらいいでしょうか?というと、
これも表示形式を文字列にしてあげればいいわけです。

数式じゃないよ。関数じゃないよ。と教えてあげる必要があるのです。

先ほどとどうように、文字列に変えて入力してみると、

Excel病ではありませんが、
【表示形式】で対応することで、表示に関してトラブルを回避することが出来ますので、
覚えておくといいものの一つかもしれませんね。

5/26/2016

Excel。SUBTOTAL。テーブルの集計行のようなものをテーブルを使用しないで作ってほしい


Excel。テーブルの集計行のようなものをテーブルを使用しないで作ってほしい

<IF関数とSUBTOTAL関数と入力規則>


Excelで通常に用意させているものを使えばいいのに、わざわざというか、

こういうものを作ることはできませんか?

というリクエストもありまして、当然現場では必要なものなのでしょう。
ということで、今回はそのリクエストの中から、

【テーブルの集計行をテーブルを使わないで作るにはどうしたらいいでしょうか?】

というもの。

素直に、テーブルにすればいいのですが、そうしたくないわけですね。

そして、テーブルと同じ機能、すなわち、行を非表示したら、
それに連動して計算結果も変えたいというわけですね。

そこで、次のような表があります。

F2に計算方法が表示して、それに合わせて、その結果をG2に表示するというもの、
当然行を非常にしてみると、

このように、それに合わせて、計算結果も連動して変わるという表を作ってみましょう。

まず、F2には、入力規則のリストを設定しておきます。

ドロップダウンリストから選択できるようにするわけですね。
設定方法は簡単ですね。

データの入力規則ダイアログボックスの設定タブの入力値の種類にはリスト。

元の値には、
合計,平均,最大値,最小値,件数
と入力しております。

次に、G2にSUBTOTAL関数を設定したいのですが、
集計方法の番号を求めておくと便利ですので、
H2にIF関数のネストで、それぞれの計算方法に合致する数値を求めるようにします。

H2には、

=IF(F2="合計",109,IF(F2="平均",101,IF(F2="最大値",104,IF(F2="最小値",105,103))))

という数式を設定しております。
これは、

合計が、109。平均は、101。最大値は104。最小値が105。
そして、件数は103という集計方法の数値が割り振りされているのです。

なお、100番台は、データを非表示にしてもそれに連動して計算結果を算出してくれますので、
今回は100番台を使っております。

そして、メインとなるのが、G2のSUBTOTAL関数とことになりますので、G2をクリックして、SUBTOTAL関数ダイアログボックスを表示しましょう。

以前ご紹介したように、SUBTOTAL関数は手入力すると集計方法が一覧で表示されますので、
わかりやすいと書きましたが、今回は、H2を参考にしたいだけなので、
ダイアログボックスを使ってみます。

集計方法には、H2。
参照1には、D3:D25。
あとは、OKボタンをクリックしましょう。

これで、完成しました。H列を見せたくない場合には、非表示など設定してください。
では、F2の計算方法を変えてみましょう。

ちゃんと、結果も変わりましたね。
当然データの一部を非表示にしても、

SUBTOTAL関数を使っておりますので、連動して結果が変わりましたね。

このような表を作ってみると、SUBTOTAL関数の動きもわかるようになりますので、
機会がありましたら、作ってみると面白いですよ。

5/25/2016

今週のFacebookページの投稿 2016/5/16-2016/5/22

今週のFacebookページの投稿 2016/5/16-2016/5/22

<Facebookページ>

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

5月16日
Excel。グラフ。面グラフは、データとデータの差がハッキリわかりやすいグラフですね。

5月17日
Excel。グラフ。円グラフは、全体に占める割合を表すのに便利なグラフですね。
シェアとか構成比のグラフですね。。

5月18日
Excel。グラフ。散布図グラフは、データそれぞれの位置関係を表しているグラフですね。

5月19日
Excel。グラフ。レーダーチャートグラフは、
要素をそれぞれの項目ごとに分解したグラフですね。
栄養素とかチーム分析などでお馴染みですね。

5月20日
Excel。グラフ。縦軸と横軸を入れ替えるときには、
「行/列の切り替え」ボタンで、一発で替えることができますね。

5月21日
Excel。グラフ。円グラフをつくったら、同じ色一色になったときには、
「行/列の切り替え」ボタンをクリックしてみましょう。

5月22日
Excel。グラフ。グラフの構成要素をうまく選択できない時は、
レイアウトか書式タブの現在の選択範囲の上の▼をクリックして、
構成要素を選択すると、選択できますね。

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

https://www.facebook.com/exceltechniqueandmsoffice/

5/23/2016

Excel。SUMIF。テーブルでSUMIF関数を使うと算出されるけど、数式が変?というご質問


Excel。テーブルでSUMIF関数を使うと算出されるけど、数式が変?というご質問

<テーブルとSUMIF関数>


先日ご質問を受けた中で、テーブルにして、SUMIF関数を使って算出してみたら、
答えはあっているようなんだけど、数式がおかしいというか?

なんか変なのですが、大丈夫なんですかね?というもの。

よく聞いてみると、なんでも数式を作るたびに、引数が変わっていて、
それも気になるということでした。

これは、【構造化参照】のことだな。と気づきましたが、せっかくですので、

SUMIF関数からおさらいして、

テーブルでのSUMIF関数を使った場合も合わせて確認していきましょう。

まず、下記の表があります。

F2にBと入力されていて、G2に商品Bの合計金額を算出するという表ですね。

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

範囲には、B2:B24
検索条件には、F2
合計範囲には、D2:D24
を設定してOKボタンをクリックしましょう。

これで、算出されましたね。

このSUMIF関数が苦手な方の多くが、最初の範囲についてどこを範囲選択すればいいのか?
悩んじゃう人のようです。

ここでいう範囲は、その次に設定する、検索条件が含まれている列のことなのです。
確かにちょっと、ややこしいですね。

さて、通常のSUMIF関数は問題ないのですが、
今度は、A1:D24をテーブルにしてSUMIF関数を使って同じように算出してみましょう。

せっかくテーブルにしたので、ついでではありますが、集計も表示しておきましょう。

先ほどと同じようにG2にSUMIF関数ダイアログボックスを表示しましょう。
今回のようにドラッグできる大きさならいいのですが、
大きなテーブルということもありますので、ショートカット。

Ctrl + Shift + ↓

で、いっぺんに範囲選択できますよ。練習もかねてショートカットを使いながら作っていきましょう。

範囲は、テーブル1[商品]
検索条件は、F2
合計範囲には、テーブル1[[#データ],[#集計],[金額]]

あれれ?先ほどと変わって、[商品]と表示されていますね。

これは、【構造化参照】といって、
テーブルで計算式を使うと、そのフィールド名を使うようになるのです。

ちなみに、テーブル1とは、テーブル名なので、テーブル名を設定すれば、変わります。

ところで、今回の質問で、不安に思ったのは、合計範囲なんでしょうね。

[[#データ],[#集計],[金額]]

これは、なんなのか?というと、金額フィールドのデータと集計行という意味です。
では、OKボタンをクリックしましょう。

数式は、

=SUMIF(テーブル1[商品],F2,テーブル1[[#データ],[#集計],[金額]])

今回集計行が含めているけど、大丈夫なのか?と思うかもしれませんが、
B列の商品がBだったら計算するわけなので、
集計行の商品には、Bと入力されていませんので、関与することはありません。

ですので、本来は、データのところだけを範囲選択してあげると数式としては、
わかりやすくなります。

今度は、合計範囲に集計行を含めないでSUMIF関数の数式を作ってみると、

合計範囲は、テーブル1[金額]とフィールド名だけが設定されてました。

=SUMIF(テーブル1[商品],F2,テーブル1[金額])

という数式ですね。

このように、テーブルにすると【構造化参照】になるということ、
そして、集計行を表示していると、範囲選択によって、
【構造化参照】されているところが細分化されることがあるということを知っていると、
ビックリしなくなるかと思います。

5/20/2016

Excel。LOOK。あれれ?LOOKUP関数を使ってみたら、ちゃんと検索されないぞ!


Excel。あれれ?LOOKUP関数を使ってみたら、ちゃんと検索されないぞ!

<LOOKUP関数>


先日打ち合わせに行った際に、先方の担当さんから、
ちょこっと教えてほしいんだけど…ということで、伺ってみると、
なんでも、LOOKUP関数を使ってみたんだけど、
ちゃんと検索してくれなくて困っているとのこと。

LOOKUP関数は、たぶん、VLOOKUP関数よりもマイナーだと思うわけでして、
似ているかと思えば、全く似ていない別の検索系の関数なんですよね。

では、下記のような表があります。

E3に入力されている日付に近い日を検索して、その商品名を検索するというのをやりたいのです。

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

すると、引数の選択ダイアログボックスが表示されてきます。ドキッとしちゃいますよね。
上段は、検索値,検索範囲,対応範囲の3つの引数を使う、

【ベクトル形式】


下段は、検索値,配列の2つの引数を使う、

【配列形式】

の2つを選択することが出来る関数なんですね。
で、今回は上段のベクトル形式を使いますので、選択して、OKボタンをクリックしましょう。

検索値には、E3の検索したい日付
検索範囲には、B2:B21の表の日付の列
対応範囲には、C2:C21の商品名
を設定しました。

これで、問題はないはずなので、OKボタンをクリックしましょう。
すると、

Jというのが検索されました。
これで、終わり…と思ったら大間違い。2016/2/10に一番近いのは、Jではなくて、

本当は、Iのはずです。
これが、このLOOKUP関数がちゃんと、検索してくれないといったのでしょう。

実は、このLOOKUP関数。
データの小計と同じように、検索範囲を先に昇順で並び替えを行っておかないと、
今回のように、正しい結果を算出してくれないことがあるのです。

まさか、関数をつかうだけなのに、並び替えもしなくてはいけないというのが、
最大のポイントなんですね。

では、日付を並び替えをして、改めて算出してみましょう。

B1をクリックして、データタブの昇順ボタンをクリックしましょう。

さて、並び替えが終わりましたので、先ほどの結果はどうなっているでしょうか?

今度は、Iと算出されましたね。先ほどは、Jでしたので、今回はちゃんと、検索されましたね。

ですので、LOOKUP関数を使うときには、
キーになる列で並び替え(昇順)で行うことを忘れないようにする。

そして、引数は【ベクトル形式】で、LOOKUP関数を作成していくという、
この2点に注意をしていただいて、作っていくといいと思いますよ。

5/19/2016

今週のFacebookページの投稿 2016/5/10-2016/5/16

今週のFacebookページの投稿 2016/5/10-2016/5/16

<Facebookページ>

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

5月10日
Excel。グラフ。グラフが表示されているところのサイズを調整したい時は、
プロットエリアでサイズ変更ハンドルで調整できますね。

5月11日
Excel。グラフ。Excel2010では11種類のグラフを作ることができますね。

5月12日
Excel。グラフ。棒グラフは、
項目ごとに値の大きさを比較するときに使うと便利ですね。

5月13日
Excel。グラフ。積み上げ棒グラフは、
項目ごとに積み上げた値を比較するときに使うといいですね。

5月14日
Excel。グラフ。100%積み上げ棒グラフは、
棒グラフ全体を100として値を割合で表示したものですね。
ニュースで政党支持率とかで使う場合が多いですね。

5月15日
Excel。グラフ。折れ線グラフは、時間の経過に伴う変化や傾向を表すのに向いていますね。

5月16日
Excel。グラフ。面グラフは、データとデータの差がハッキリわかりやすいグラフですね。

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

https://www.facebook.com/exceltechniqueandmsoffice/

5/17/2016

Excel。INDIRECT。合計対象が増えても範囲選択が自動対応する方法

Excel。合計対象が増えても範囲選択が自動対応する方法

<SUM+INDIRECT+COUNT関数>


合計を算出する値が上にある。
そして、データが増減しても自動的に計算対象範囲が、
その増減に合わせて変更させるような計算式を作りたいんだけど、
どうやったらいいの?というご質問をいただきました。

このような場合、テーブルにしてあげると意外と簡単に、作ることができるのですが、
今回は、テーブルにしたくないということでして…。

そういうことになりますと、関数でどうにか作ってみましょうということで、
早速作っていくことにしましょう。

下記のような表があります。

B2に合計値が算出できる式を作りたいわけですが、
その範囲はデータがあるところまでを自動的に判断させたいというのが今回も目的です。

そこで、先にB2に入る数式をご紹介しておきます。

=SUM(C5:INDIRECT("C" & COUNT(C:C)+4))


このように、Excelの経験値が少ない方だと、お手上げってなってしまうかと思われます。

ですから、本来は、一つずつ作業結果のセルを作ってあげるほうがいいと思います。

それを踏まえたうえで、この数式の説明をしていきます。

まず出だしのSUM関数。これは、おなじみなので、割愛。

それで、範囲がC5から。データのあるセルの最後までということになります。

そこが、INDIRECT関数以降にあたります。

このINDIRECT関数はその結果そのものを、数値や文字として使うことができる関数です。

このINDIRECT関数の中を確認してみると、
”C”& これは、Cという文字に次の文字を接続させるということになります。

では、接続されるものはというと、それがCOUNT関数の登場となるわけです。

COUNT関数は、数値のあるセルを数えます。
COUNT(C:C)とは、C列全体にある数値の数ということになります。

今回は、10が算出されます。

それでCと10を結合するとC10になるのですが、これですと、合計範囲が、
C5:C10となってしまいます。

そこで、
COUNT(C:C)+4とプラス4をする必要があります。

これで、C14という文字が作れました。

これで、=SUM(C5:C14)という数式が作成できたことになります。

よって、合計値は640を算出できたわけです。

INDIRECT関数は何かと重宝しますので、覚えておくといい関数の一つですね。
では、データを1件追加してみましょう。

自動的に合計値が変わりましたね。

ちなみに、現場で煩雑な数式がある場合には、【数式の検証】を行うといいかもしれませんね。
ためしにやってみましょう。

B2をクリックしておいて、数式タブの【数式の検証】をクリックしてみると、

検証ボタンをクリックすると、まず下線がある箇所。COUNT(C:C)を確認します。

次に、11+4を確認しますので、検証ボタンをクリックします。

そして、次のステップを確認していきます。

この手順でどんどん検証を進めていきましょう。

すると、最後に検証結果、すなわち算出されるものが確認できましたね。

なお、全くひっくり返してしまうのですが…
テーブルにしてしまうと、このような関数は全く不要になります。

テーブルには、計算表というテーブル名が設定されています。

テーブルにすれば、構造化参照になるため、SUM関数だけでこの問題は解決できるのです。

ということで、ネストを繰り返す関数で算出するのもいいですが、
様々なものを使ってあげるともっと、簡単に算出できることもありますので、
あまり、関数にはこだわらないというのもいいのかもしれませんね。

5/14/2016

Excel。SUBTOTAL。行を非表示にしても条件を満たす件数を数えたい場合どうしたらいい?


Excel。行を非表示にしても条件を満たす件数を数えたい場合どうしたらいい?

<SUBTOTAL関数>


以前累計を算出するときに、行が非表示になっても、
ちゃんと累計を算出できるようにする方法をご紹介したことはありますが、
今回のリクエストは、

「行を非表示にしても、完成してあるものの件数を数えたい」

というものでした。

下記の表をご覧ください。

求めたいものは、D列の完成済みの列にある、
完了という文字が入力されているセルの数なのです。

一見、前回の累計と同じように、SUBTOTAL関数でいいだろうと思うかもしれませんが、
このSUBTOTAL関数。計算の種類でCOUNT関数やCOUNTA関数があるのですが、
残念ながら、COUNTIF関数が無いのです。

つまり、完了と空白セルでしたら、文字数を数えればいいので、
COUNTA関数でもいいのですが、
今回は、全部のセルに文字が入力されているわけなので、
COUNTA関数では対応しきれない訳なのです。

よく、このような場合、計算式一発算出をしちゃいたくなるのですが、
逆に関数が煩雑になってしまう傾向があります。

このようなケースの場合は、
使いやすい・作りやすい・メンテナンスしやすいということを考慮して、
作業列を作ってあげたほうが、いいと思います。

では、B1の登録数から作成していきましょう。

B1をクリックして、SUBTOTAL関数を作成してきますが、このSUBTOTAL関数。

ダイアログボックスで作成すると、計算方法をどの番号にしたらいいのかが、
わからないので、できたら、

【手入力】

することをお勧めします。

結果B1には、

=SUBTOTAL(102,A6:A16)

という数式が設定されました。なお102のCOUNTを使いますが、
100番台でないと、行の非表示には対応をしてくれません。

結果は、11件と算出されました。

で、ここからが、本番。

B2には、完了という文字が入力されているセルの件数を数えたいわけです。

しかしながら、SUBTOTAL関数ではCOUNTIFの集計方法はない。

となると、様々な関数を駆使して結果を求めるよりも、
計算列を作ってあげたほうがわかりやすく、スマートだと思いますので、
F列に数値変換という計算列を設けておきます。

このF列には、D列が完了だったら1。そうでなければ0というIF関数を作ってあげます。

その結果に対してSUBTOTAL関数を使って、合計してあげればいいわけです。

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

論理式には、D6="完了"
真の場合は、1
偽の場合は、0
OKボタンをクリックしましょう。あとは、オートフィルで数式をコピーします。

なお、数式は、

=IF(D6="完了",1,0)

ですね。

そして、B2をクリックして、SUBTOTAL関数を作成していきます。

今度は、合計ですので、集計方法は109を使います。
結果、B2の数式は、

=SUBTOTAL(109,F6:F16)

あとB3は、単純に減算の式ですから、
=B1-B2
これで完成しました。

では、適当に行を非表示にしてみます。

ちゃんと、非表示に合わせて計算結果が変わりましたよね。

このように、関数ばかりに頼るのではなくて、
計算列などを使ったほうがいいケースも多々ありますので、
ケースバイケースで作っていくといいですね。