7/30/2020

Excel。一列置きのデータを合算したいけど、簡単に算出する方法はないかな?【Every other row】

Excel。一列置きのデータを合算したいけど、簡単に算出する方法はないかな?

<SUMIF関数・MOD関数・COLUMN関数>

やりたいことは簡単に思っても、実際にExcelでどうやったらいいのか?効率的なのか?考えるしまうことは結構あります。

今回は、前年と今年の売上高が並んでいる表があります。
 
H列やI列は、年ごとに合算値を算出しています。

さて、この合算値を算出するのに、効率的に行う方法はどうしたらいいのでしょうか?

合算といえば、SUM関数ですね。

H2に
=SUM(B2,D2,F2)
という数式を作成する。これも正解ですね。

ただ、SUM関数を使うのでもいいのですが、一列置きにデータがありますから、選択するにしても入力するとしても、面倒ですし、ミスを発生する危険性が高くなってしまいます。

今回は、このデータ量なのでいいですが、ボリュームが増えた場合は、さらに大変になることは、簡単に想像できます。

ポイントは、「一列置き」です。

2019年と2020年と判断できれば、条件付き和算のSUMIF関数を使うことができます。

そこで、注目するのは、列番号。

その列番号を2で除算すれば、余りがあれば『奇数』。

余りがなければ『偶数』と一列置きに分ける数値を算出することができます。

合算値を算出する前の状態の表をつかって、算出していきます。
 
B8には、次の数式を設定しました。
=MOD(COLUMN(),2)

COLUMN関数は、列番号を算出する関数です。

B列なので、2という値が算出されます。

MOD関数は、除算した余りを算出することができる関数です。

2で除算すれば、奇数偶数を確認することができます。

B列は2なので、2÷2で余りは「0(ゼロ)」ですね。

この数式をフィルハンドルをつかって、コピーします。
 
これで、奇数偶数を判断することができました。

つまり、2019年と2020年の列を判断するためのツールを得ることができたわけです。

あとは、SUMIF関数をつかうことで、簡単に2019年と2020年の合算値を算出できるわけです。
 
H2の数式は、
=SUMIF($B$8:$G$8,0,$B2:$G2)

SUMIF関数のダイアログボックスで確認してみましょう。
 
範囲は、$B$8:$G$8
フィルハンドルをつかって、数式をコピーする(オートフィル)ので、絶対参照を設定しておきます。

検索条件は、0(ゼロ)。2019年が0(ゼロ)2020年が1ですね。

合計範囲は、$B2:$G2
列だけ固定した複合参照にすることで、数式をコピーしたあとに数式を修正する必要がなくなります。

これで、2019年2020年の合算値を算出することができました。
 
これで完成といえば完成なのですが、区別をするための、8行目の数値が見えたままですね。

カッコ悪いので、0と1を表示しないようにしていきます。

間違えても、削除してはダメですね。

削除したら、SUMIF関数の検索条件が機能しませんので、元も子もありません。

また、文字の色を白色にするというのも、スマートじゃないので、表示形式のユーザー定義をつかって、非常時にしていきます。

B8:G8を範囲選択して、セルの書式設定ダイアログボックスを表示します。
 
表示形式の分類をユーザー定義にして、種類に、「;;;(セミコロン×3)」と入力してOKボタンをクリックします。

これで、非表示にすることができました。
 
;;;(セミコロン×3)」にすると、文字を非表示にすることができますので、覚えておくと重宝します。

これで、完成しましたね。

まぁ、そもそも論として、データベースにしておけば、ピボットテーブルで簡単に算出できるのですが、帳票で管理している会社も多いので、様々な手法を知っていて損はありませんね。

7/29/2020

2020年4月~6月のグラフ閲覧数TOP5をご紹介【Graph Quarter Top5】

2020年4月~6月のグラフ閲覧数TOP5をご紹介

<グラフ:TOP5>

皆様に閲覧していただいている、2020年4月~6月のグラフ閲覧数のランキングです。

1位
Excel。折れ線グラフを交点0からスタートさせるには?

交点0から描いた折れ線グラフ

すんなり、作れない。交点0(ゼロ)から描いた折れ線グラフ。
どのようにすればいいのでしょうか?


2位
Excel。一日のタイムスケジュールを管理する24時間横棒グラフを作ってみる

24時間横棒グラフ

一日24時間のタイムスケジュールが把握できる、【24時間横棒グラフ】です。
よく、夏休みとかの一日のスケジュールっていうのがあったと思いますが、ずばり、それの横棒グラフ版です。


3位
Excel。料金量がわかりやすい階段グラフの作り方

階段グラフ

少し前ですが、携帯電話会社さんが料金プランを変更というニュースがありました。
そこに掲載されいたグラフみたいなものを、Excelで作れないかなぁ~と思い作成してみたら意外と大変だったので、今回は、階段グラフをご紹介します。


4位
Excel。折れ線グラフの間を塗りつぶしたいけど、どうしたらいいの?

折れ線グラフの間を塗りつぶす

今回は、折れ線グラフが2本あって、その間の【差】をわかるように塗りつぶしたい


5位
Excel。時間経過の折れ線グラフ。実は散布図で作るとより綺麗に描けるのです。

散布図折れ線グラフ

時間経過に関する折れ線グラフの場合には、ただ折れ線グラフを作るのもいいのですが、散布図で作ってみるというのもいいですよ。

7/27/2020

Excel。ガントチャートは積み上げ横棒グラフで簡単に作成できます。【Gantt chart】

Excel。ガントチャートは積み上げ横棒グラフで簡単に作成できます。

<ステップ横棒グラフ:ガントチャート>

工程を管理するためのガントチャート。セルを塗りつぶして作るのもいいですが、PowerPointやWordに貼り付けて会議資料にするというの場合、見栄えがイマイチ。

そこで、積み上げ横棒グラフをつかって、比較的簡単にガントチャートをつくることができます。
横棒グラフでガントチャート
 
Excelでこういうグラフがほしいなと思った場合、グラフを作る元。

すなわち表をどうやって作成するのかがポイントです。

今回は、次のような表を用意しました。
 
D列のダミーは、Aの工程が終わったら、Bの工程が始まるように見せるために、上位工程の経過日数。

つまり累計値を用意する必要があります。
D3には累計を算出するための計算式を設定してあります。

D3の計算式は、
=SUM($E$2:E2)
あとは、フィルハンドルをつかって、D6まで数式をコピーします。

引数の始点を絶対参照にすることで、累計を算出することができます。

G列の縦軸ですが、これは、グラフの「縦(項目)軸」を置換するために用意しておきます。

手入力でもいいのですが、汎用性をよくするために、G2には、次の計算式を設定しております。

=TEXT(B2,"mm/dd")&"~"&TEXT(C2,"mm/dd")

B列とC列に工程の開始日と終了日が用意されていますので、それを使わない手はありません。

TEXT関数をつかうと、表示形式を変更して表示することができます。

あとは、&(アンパサンド)をつかって文字結合をしています。

フィルハンドルをつかって、G6まで数式をコピーしておきます。
これで準備完了です。

A1:A6とD1:E6を範囲選択して、挿入タブの「縦棒/横棒グラフの挿入」にある積み上げ横棒グラフをクリックします。
 
積み上げ横棒グラフが挿入されました。

なお、今回は説明の為グラフを大きくしたいので、グラフタイトルと凡例は削除しております。
 
Excelの横棒グラフは、元のデータを下方から積み上げてつくるので、E~Aの順番に上から表示されていますので、A~Eにしていきます。

縦軸をダブルクリック。
または、クリックして、書式タブのグラフ要素が「縦(項目)軸」と表示されているのを確認して、選択対象の書式設定をクリックします。
 
軸の書式設定作業ウィンドウが表示されます。

軸のオプションの「横軸との交点」を最大項目に、「軸位置」を軸を反転するにチェックマークをいれます。
 
これで、縦軸はA~Eに並び替わりました。
 
縦軸をA~Eの作業名のままでよければ、このままでいいのですが、今回は、G列に用意した名称に変更していきます。

グラフのデザインタブの「データの選択」をクリックして、データソースの選択ダイアログボックスが表示されます。

横(項目)軸ラベルの編集ボタンをクリックします。
 
軸ラベルダイアログボックスが表示されるので、G2:G6を範囲選択して、OKボタンをクリックします。
 
データソースの選択ダイアログボックスに戻りますので、こちらもOKボタンをクリックします。
 
横軸を変更することができました。

青色のダミーデータを透明にしていきます。

書式タブの「図形の塗りつぶし」で塗りつぶしなしに設定し、「図形の枠線」も枠線なしにします。

横軸の線を描いて、プロットエリアを升目のようにします。

グラフのデザインタブにある「グラフ要素を追加」から目盛線の「第1主横軸」をクリックします。
 
グラフはこのように変わりました。

線が見えにくいので、説明上プロットエリアを塗りつぶしております。
 
見栄えを考えて、横棒グラフの太さを変更したり、横軸を0~30でなく、0~25に変更したりしましょう。

データラベルを表示していきます。

グラフのデザインタブにある「グラフ要素の追加」からデータラベルの「中央」をクリックします。
 

フォントサイズを大きくして、完成です。
 
工程表などセルを塗りつぶして作成するのもいいですが、グラフでも綺麗に作成することができますので、機会がありましたら作ってみませんか?

7/26/2020

今週のFacebookページの投稿 2020/7/20-2020/7/26

今週のFacebookページの投稿 2020/7/20-2020/7/26

<Facebookページ>

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

7月20日
Excel。IMSINH関数。
読み方は、アイエムサインハイパーポリックで、複素数の双曲線正弦(ハイパーポリックサイン)を算出する


7月21日
Excel。IMSUB関数。
読み方は、アイエムサブで、複素数の差を算出する


7月22日
Excel。IMSUM関数。
読み方は、アイエムサムで、複素数の和を算出する


7月23日
Excel。IMSQRT関数。
読み方は、アイエムスクエアルートで、複素数の平方根を算出する


7月24日
Excel。IMTAN関数。
読み方は、アイエムタンジェントで、複素数のタンジェントを算出する


7月25日
Excel。INDEX関数。
読み方は、インデックスで、セル範囲から縦横座標で値を抽出


7月26日
Excel。INDIRECT関数。
読み方は、インダイレクトで、文字列で参照されるセルの値を算出

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

7/24/2020

Excel。アルファベット評価の平均を算出するには、どうしたらいいのでしょうか?【Average alphabetic rating】

Excel。アルファベット評価の平均を算出するには、どうしたらいいのでしょうか?

<CODE関数・CHAR関数・AVERAGE関数>

英語のテストのように、90点のような数値だと、平均値を求めることは簡単ですが、次の表にある、「理解力=B」のようにアルファベット評価の場合、どうやってアルファベット評価の平均を算出したらいいのでしょうか?
 
この表は、A~Eの5段階評価です。

Aが一番よい評価で、Eが一番悪い評価という意味の表です。

考え方として、アルファベットごとに件数を算出して、Aが多いからAなど、見た眼で判断したら、曖昧になってしまいます。

今回以上の膨大なデータの場合、目視で判断なんか到底できません。

また、Aを1、Bを2など独自に設定した数値に置換して、その平均値を算出すればいいかもしれませんが、A~Eのアルファベットを置換するなどの作業が面倒です。

しかも、この独自に設定した数値を使った場合、最終的にアルファベットに戻さなければなりません。

その作業も置換を使うにしろ、VLOOKUP関数を使うにしろ、なかなか面倒です。

【文字を数値にする】

平均を算出することでお馴染みの、AVERAGE関数は、数値の平均を算出することはできても、文字を平均化することはできません。

逆に言えば、文字を数値化できれば算出することはできるわけです。

そこで、文字を数値にする、「CODE関数」というのがあります。

このCODE関数は、文字に割り振られている数値を算出してくれる関数です。

先程の評価表のとなりに、CODE関数をつかった表を算出してみます。
 
J2の数式は、
=CODE(B2)
この数式をオートフィルでコピーすると、A~Eまでのアルファベットに割り振られている数値が算出されます。

ちないに、Aは65です。

仮に、傾聴力から理解力までの項目がすべてAだったら、すべての項目が65になりますから、平均は65というように、平均値を算出することができます。

o2の数式は、
=AVERAGE(J2:N2)
と平均値を算出しております。

ただ、これだと数値のままなので、アルファベットで表示されていません。

【数値を文字にする】

算出された平均結果をつかい、アルファベットに戻すためには、CHAR関数を使います。
 
G2の数式は、
=CHAR(O2)
としております。

CHAR関数は、小数点以下は無視された数値を使って、文字に変換してくれます。

これで、アルファベット評価の平均した評価を算出することができました。

このままでもいいのですが、ちょっと気になることがあります。

それは、G6
5件中、Eが4件で、Dが1件。平均結果がDというのは、イメージが乖離しています。

このような場合は、平均値を算出する数式をアレンジする必要があります。

O2の数式を次のようにアレンジしました。
=ROUND(AVERAGE(J2:N2),0)

ROUND関数をつかって、四捨五入させました。

その結果が次の表です。
 
G6は、平均評価がEに変わりました。
状況によって、切り上げ、切り捨てなど、アレンジすると状況にマッチしやすくなると思います。

本来ならば、中央値や、標準偏差など様々な数値を算出する必要があるかもしれませんが、簡易版とアルファベット評価の平均を算出するアイディアをご紹介しました。

7/23/2020

Excel関数辞典 VOL.33。GAUSS関数~GROWTH関数

Excel関数辞典 VOL.33。GAUSS関数~GROWTH関数

<Excel関数>

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

GAUSS関数
ガウス
指定した標準偏差の範囲になる確率を算出
GAUSS(値)


GCD関数
ジーシーディー
整数の最大公約数を算出
GCD(数値1[,数値2])


GEOMEAN関数
ジオミーン
数値の相乗平均(Geometric)を算出
GEOMEAN(数値1[,数値2])


GESTEP関数
ジーイーステップ
数値が境界値以上かを判定する
GESTEP(数値[,しきい値])


GETPIVOTDATA関数
ゲットピボットデータ
ピボットテーブル内の値を抽出
GETPIVOTDATA(データフィールド,ピボットテーブル[,フィールド1,アイテム1,フィールド2,アイテム2],…)


GROWTH関数
グロウス
指数回帰分析による値を算出
GROWTH(既知のy[,既知のx][,新しいx][,定数])

7/21/2020

Access。クエリで連番のフィールドを作るには?【Serial number】

Access。クエリで連番のフィールドを作るには?

<Access:クエリで連番>

Accessのテーブルには、オートナンバー型という設定にすれば、自動的に連番を設定してくれますが、クエリで抽出したデータに連番を振る場合どうしたらいいのでしょうか?

クエリでは、無いフィールドつくるには、演算フィールドを使う方法しかありませんので、アイディアが必要になります。

次のテーブルを用意しました。
 
ランキングが「S」の店舗を抽出して、店舗コードとは別で1からの連番を設定したリストがほしいとします。

では、クエリで抽出しますので、作成タブの「クエリデザイン」をつかってクエリを作っていきます。
 
全てのフィールドを今回は使います。

ランキングが「S」の店舗を抽出したいので、抽出条件に「”S”」と設定すれば抽出することができます。

では、実行して確認してみましょう。
 
まずは、ランキングが「S」の店舗一覧をつくることはできました。

ただし、売上高に降順の設定をしていませんが、降順で表示されています。

今回は、元のテーブルと同じ店舗コード順にするので、店舗コードに昇順の設定をしておきましょう。
 
このクエリの店舗コードの左側に連番を作りたいわけです。

では、デザインビューに戻して、連番の演算フィールドを作っていきましょう。

デザインタブの列の挿入をつかって、店舗コードの左側に列を挿入します。
 
行番号を表示してくれるExcelのROW関数のような関数はAccessにはありませんので、別のアイディアが必要になります。

そこで、今のレコードの店舗コード以下の店舗コード数がいくつあるのかがわかれば、連番をつくることができます。

「いくつあるのか」ということで、AccessにはDCount関数というカウントすることができる関数がありますので、Dcount関数をつかってみましょう。

挿入したフィールドに、演算式を設定していきます。
 
連番: DCount("*","T店舗売上ランキング","店舗コード<=" & [店舗コード] & "and ランキング=" & "'S'")*1

とりあえず、実行して確認してみましょう。
 
このように、連番を設定することができました。

演算フィールドを説明します。
連番: DCount("*","T店舗売上ランキング","店舗コード<=" & [店舗コード] & "and ランキング=" & "'S'")*1

引数の”*”は、数えたいフィールドを設定します。

「”店舗コード”」でもOKですが、演算式が長くなるので、「*(アスタリスク)」を使うと省略できるので、今回は「*」をつかいました。

2番目の引数の"T店舗売上ランキング"は、テーブル名を設定します。

3番目の引数は
"店舗コード<=" & [店舗コード] & "and ランキング=" & "'S'"

店舗コードは、自分自身の店舗コードを含めてそれよりも小さい店舗コードがいくつあるの?というのが条件です。 

さらに、「& "and ランキング=" & "'S'"」でランキングが「S」のものだけ。
という条件を追加しています。

「ランキング=」のあとは、「”(ダブルコーテーション)」+「’(シングルコーテーション)」+「S」+「’(シングルコーテーション)」+「”(ダブルコーテーション)」と入力しています。

文字を判定条件で使う場合は、シングルコーテーションで囲む必要があります。

最後に、「*1」ですが、数値型ではなく、文字数値型という形式で算出されてしまうので、「*1」をつけないと、文字列と同じように左揃えになってしまうのを防止しています。

条件を変えていますが、「*1」をつけてないと、次のようになります。

クエリで連番を設定するのは、なかなか面倒な感じですね。

7/20/2020

今週のFacebookページの投稿 2020/7/13-2020/7/19

今週のFacebookページの投稿 2020/7/13-2020/7/19

<Facebookページ>

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

7月13日
Excel。IMLOG2関数。
読み方は、アイエムログツーで、複素数の2を底とする対数を算出する

7月14日
Excel。IMPOWER関数。
読み方は、アイエムパワーで、複素数のべき乗を算出する

7月15日
Excel。IMPRODUCT関数。
読み方は、アイエムプロダクトで、複素数の積を算出する

7月16日
Excel。IMREAL関数。
読み方は、アイエムリアルで、複素数の実数部分を取り出す

7月17日
Excel。IMSEC関数。
読み方は、アイエムセカントで、複素数のセカント(正割)を算出する

7月18日
Excel。IMSECH関数。
読み方は、アイエムセカントハイパーポリックで、複素数の双曲線正割を算出する

7月19日
Excel。IMSIN関数。
読み方は、アイエムサインで、複素数のサイン(正弦)を算出す

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

7/18/2020

Excel。3-D集計はピボットテーブルでもつくることができちゃいます。【Pivot table】

Excel。3-D集計はピボットテーブルでもつくることができちゃいます。

<ピボットテーブル版3-D集計>

同じレイアウトのシートを合算する時に、「3-D集計・串刺し集計」をつかって算出させます。
 
今回は、3シートにわかれているデータの合算値を算出していきます。

「3-D集計」の場合、合算値を算出する同じレイアウトのシートを事前に用意する必要がありますが、ピボットテーブルで作る場合には、不要です。

ただし、ピボットテーブルでつくるといっても、現在のバージョンでは「ピボットテーブルウィザード」をリボンから表示することができません。

挿入のピボットテーブルをクリックして表示される、「ピボットテーブルの作成」ダイアログボックスとは異なりますので注意が必要です。

「ピボットテーブルウィザード」を表示させるには、手順で表示させます。
Altキー を押す
Dキー を押す
Pキー を押す
ショートカットキーっぽいですが、同時に3つのキーを押すわけではないので、注意が必要です。

キーボード操作をするためのキー入力というところでしょうか。
Altキーを押すと、
 
リボンのボタンの上にアルファベットが表示されます。つづいて、Dキーを押すと、
 
Officeのアクセスキー が表示されますので、Pキーを押します。

「ピボットテーブル/ピボットグラフウィザード 1/3」ダイアログボックスが表示されます。
 
複数のシートをつかいますので、「複数のワークシート範囲」を選択します。

次へボタンをクリックします。
 
「ピボットテーブル/ピボットグラフウィザード 2a/3」に移動しました。

指定にチェックマークをいれて、次へボタンをクリックします。

「ピボットテーブル/ピボットグラフウィザード 2ba/3」に移動します。
 
新宿店のデータを見出しも含めて範囲選択します。合計値のあるデータの場合、合計値等は除外した範囲で行います。

追加ボタンをクリックします。

すると、範囲一覧に、指定した範囲が追加されます。

ページフィールド数は、「1」
フィールド1には、それぞれのシートが判別できるように「ラベル」を設定します。
今回は「新宿店」のデータなので、「新宿店」としました。

あと、2店舗分ありますので、続けます。
 
渋谷店のデータを範囲選択したら、追加ボタンをクリックします。

範囲一覧に追加されたことを確認したら、先程と同じように、
ページフィールド数は「1」。

フィールド1には、「渋谷店」と入力します。

あと1店舗残っていますので、続けて設定します。
 
品川店のデータを範囲選択したら、追加ボタンをクリックします。

範囲一覧に追加されたことを確認したら、先程と同じように、
ページフィールド数は「1」。

フィールド1には、「品川店」と入力します。

すべてのデータを設定したら、次へボタンをクリックします。

「ピボットテーブル/ピボットグラフウィザード 3/3」に移動します。
 
新規ワークシートにピボットテーブルをつくりますので、「新規ワークシート」を選択して、完了ボタンをクリックします。

これで完成しました。
 
通常の「3-D集計」のほうが楽じゃないと思われますが、ただ算出するだけではなく、分析や抽出を行ったりするならば、ピボットテーブル版の3-D集計で集計してみるのもいいかもしれませんね。