10/20/2021

Excel。数値で構成された表からグラフを作ると、横軸が1・2・3…となるのでどうしたらいい【Horizontal axis】

Excel。数値で構成された表からグラフを作ると、横軸が123…となるのでどうしたらいい

<折れ線グラフ>

Excelでグラフを作ること自体は簡単でも、表によっては思っているようなグラフをつくることができないことがあります。


例えば、次のような表をつかってグラフを作るとわかります。


今回は、この表を使って、マーカー付き折れ線グラフを作ってみます。

別に問題なく作れると思うかもしれませんが、挿入後アレコレやらないといけないグラフが挿入されるので確認してみましょう。


A1:B7を範囲選択して、挿入タブの「折れ線/面グラフの挿入」にある「マーカー付き折れ線グラフ」をクリックします。


次のようなグラフが挿入されてました。


横軸に、年の「2016・2017…」と表示されずに、「1・2・3…」と数値が表示されてしまっています。

さらに、年は、データとして扱われてしまっていて、プロットエリア内にマーカー付き折れ線グラフとして描かれてしまっています。


この原因は、表にあります。


表のデータが、横軸に当たる所も含めて、すべて「数値」になっている表だからです。


仮に次のように、年が2016年という「文字」の表でつくってみます。


この場合マーカー付き折れ線グラフをつくってみると、横軸に年が表示されたグラフになります。


このように、データ全体が「数値」の場合には、データを指示してあげる必要が発生します。


それでは、グラフを修正していきます。


グラフのデザインタブの「データの選択」をクリックします。

データの選択ダイアログボックスが表示されます。


プロットされている「年」を削除しますので、凡例項目の年を選択して、削除ボタンをクリックします。

続いて横軸を修正します。

横(項目)軸ラベルの編集ボタンをクリックします。


軸ラベルダイアログボックスが表示されます。


横軸で表示したいA2:A7を範囲選択してOKボタンをクリックします。

データソースの選択ダイアログボックスに戻ってきますので、OKボタンをクリックします。


マーカー付き折れ線グラフは、次のように変わりました。


これで、文字データと同じように、横軸を「2016・2017…」と変えることができました。

このように、グラフにしたい表のデータが「数値」だった場合には、ちょっと注意する必要があります。


なお、データが数値の場合、マーカー付き折れ線グラフでグラフを作らないで、挿入タブの「散布図またはバブルチャートの挿入」にある、散布図(直線とマーカー)でグラフを作ると、何の問題もなく描くことができます。


綺麗グラフが挿入されました。


折れ線グラフは、散布図でも描くことができますので、データによっては、散布図でつくってみてもいいですし、横軸がおかしなときは、修正して対応することになります。

10/19/2021

今週のFacebookページの投稿 2021/10/11-2021/10/17【one thing】

今週のFacebookページの投稿 2021/10/11-2021/10/17

<Facebookページ>

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


10月11日

Excel。ミニツールバーが邪魔な時は、ファイルタブ→オブション→基本設定→選択時にミニツールバーを表示する→OKボタンで非表示にできますね。



10月12日

Excel。ジャンプ機能を使うと数値データのセルをまとめて選択することが出来ますね。



10月13日

Excel。シート名を変更するには、シート名の上でダブルクリックすると修正可能になりますね。



10月14日

Excel。シート名を変更するには、シート名の上で右クリックをして、メニューから名前の変更で修正可能ですね。



10月15日

Excel。シート見出しの色は、設定した後、薄いなぁ~と感じた時は、別のシートに移動してみましょう。きっと指定した色がついているのが確認できますよ。



10月16日

Excel。セルに名前を定義しておくと、目的のセルを素早く選択したり、数式に使用することが出来ますね。



10月17日

Excel。セル範囲に名前を定義しておくと、目的のセル範囲を素早く選択したり、数式に使用することが出来ますね。

10/17/2021

Excel。パーセントじゃなくて割分厘の歩合で表示するにはどうしたらいい【Percentage】

Excel。パーセントじゃなくて割分厘の歩合で表示するにはどうしたらいい

<表示形式:ユーザー定義>

パーセント表示にすることは、比較的お馴染みな処理で、簡単に表示を変更することができますが、小数点を「割分厘」の歩合で表示するには、どのようにしたらいいのでしょうか?


パーセント表示にするには、ホームタブのパーセントボタンの「パーセントスタイル」をクリックすれば、パーセント表示にすることができます。


また、小数点の上げ下げもボタンをつかうことで、簡単に上げ下げすることができます。


パーセント表示は通常処理で行うので、ボタンがありますが、歩合に表示するためのボタンはありません。


そのため、オリジナルで表示形式を作る必要があります。


該当するセルをクリックして、セルの書式設定ダイアログボックスを表示します。


セルの書式設定ダイアログボックスは、Ctrl+1というショートカットキーで表示するのが便利ですね。


表示形式タブの分類にある、ユーザー定義をクリックして、種類を「0"割"0"分"0"厘"」と設定します。


OKボタンをクリックして確認してみましょう。


「0割0分0厘」と表示することはできましたが、「1割2分3厘」と表示されていません。


ユーザー定義の表示形式で設定した「0"割"0"分"0"厘"」ですが、これは、0割=百の位。

0分=十の位。

0厘=一の位を表示させるようになっています。

歩合の文字が表示されているだけであって、表示形式としては「000」と同じな訳です。


0.123のままだと、0割0分0厘と表示されてしまったわけです。


表示するために、便宜上1000倍すれば、1割2分3厘と表示してくれるはずです。


では、C4の数式に「*1000」を追加します。


これで、希望通りに「1割2分3厘」と表示することができました。


ただし、歩合で表示するだけならいいのですが、最大の注意点があって、この歩合の数値をつかって計算しようとした場合、「*1000」していますので、「/1000」を計算式に追加しないと、とんでもない数値が算出されてしまいます。


滅多につかうことはないかもしれませんが、あくまで、歩合の形式で表示しただけですので、注意しましょう。

10/16/2021

Excel。図形もグラフも列を非表示にすると縮んじゃうのでどうにかしたい。【Shape shrink】

Excel。図形もグラフも列を非表示にすると縮んじゃうのでどうにかしたい。

<オブジェクトと列幅>

Excelに図形やグラフを挿入したのはいいのですが、その後列幅を広げる・狭くする。

または、列を非表示にすると、ちょっと困ったことが発生します。


D列の幅を広げてみます。


すると、列幅を広げたのと連動して、図形も勝手に横幅が広がってしまいました。


逆に、D列を非表示にしてみます。


今度は、列が非表示になったのと連動して、図形も勝手に横幅が短くなってしまいました。


このように、図形やグラフ等のオブジェクトは、列幅に連動してサイズが変更されてしまうように設定されています。


これでは、列幅を変更するたびに、図形やグラフ等のオブジェクトの横幅も修正するのは面倒です。


そこで、連動しないように設定することができます。

違いを確認するために、最初の状態に戻しておきます。


図形をクリックして、アクティブにしておきます。

図形の書式タブのサイズにある「サイズとプロパティ」ボタンをクリックします。


図形の書式設定作業ウィンドウが表示されます。


図形のオプションのプロパティにある「セルに合わせて移動するがサイズ変更はしない」にチェックマークをいれて変更します。


これで、設定が完了しましたので、改めて、D列を非表示にします。


このように、列幅と連動しないで、そのままのサイズなのが確認できました。


勝手に列幅を変更されたくない時には、設定を変更するといいですね。

10/14/2021

Excel。VBA。印刷設定を毎回行うのは面倒なので手早く設定したい【Print settings】

Excel。VBA。印刷設定を毎回行うのは面倒なので手早く設定したい

<Excel VBA>

データを読み込んだり、ファイルを開いたりしたあとに、印刷する場合、様々な設定をしないといけません。


次のデータを用意しました。


印刷設定として、よく行う作業としては、


・横1ページに収めるようにする

・フッターに ページ数/総ページ数 を表示する

・2ページ目以降にも見出し行が印刷されるようにする


といったところでしょうか。

これらの処理を、毎回設定して印刷するというのは、面倒ですし、意外と設定に時間がかかります。

できることなら、手早く印刷したいところです。



そこで、Excel VBAでマクロをつくって、実行すると、手早く設定した状態で印刷することが出来るようになります。


本来ならば、2行程度が2ページ目に送られているので、1枚に収めると思いますが、今回は、フッターや見出し行が複数ページに印刷されるようになっているのか、確認したいので、2ページとしています。


プログラム文は、次のとおりです。

Sub 印刷設定()

    With ActiveSheet

        '横1ページに収める

        .PageSetup.Zoom = False

        .PageSetup.FitToPagesWide = 1

        .PageSetup.FitToPagesTall = False


        'フッター中央にページ番号

        .PageSetup.CenterFooter = "&P/&N"

        

        'タイトル行の設定

        .PageSetup.PrintTitleRows = "$1:$1"

        

        'プレビュー画面を表示

        .PrintPreview

    End With

End Sub


とりあえず、実行してみます。


横1ページに収めるようにする

フッターに ページ数/総ページ数 を表示する

2ページ目以降にも見出し行が印刷されるようにする


これらが、きちんと反映されています。


では、プログラム文を確認していきましょう。


With ActiveSheet ~ End With

アクティブのシートを印刷します。プログラム文に「ActiveSheet」と入力するのは、面倒なので、With文をつかって、省略させています。

プレビューを除いて、本来は、「With ActiveSheet.PageSetup」とするといいですね。


'横1ページに収める

.PageSetup.Zoom = False

.PageSetup.FitToPagesWide = 1

.PageSetup.FitToPagesTall = False


横は1ページに収めるようにさせるのが、このブロック。

.PageSetup.Zoom = False は、-拡大・縮小率を指定しないようにさせています。

.PageSetup.FitToPagesWide = 1 は、横方向1ページで印刷するように設定します。

.PageSetup.FitToPagesTall = False は、縦方向はそのまま自動で対応とします。1ページに収める場合は、「1」とします。


'フッター中央にページ番号

.PageSetup.CenterFooter = "&P/&N"

フッターの中央(CenterFooterプロパティ)に、「&P」のページ番号と区分けするための「/」と総ページ数の「&N」とすること、ページ数/総ページ数をフッター中央に表示することができます。


'タイトル行の設定

.PageSetup.PrintTitleRows = "$1:$1"

見出し行の1行目を設定しています。

これは、ページ設定ダイアログボックスのタイトル行を設定する作業そのものです。


 'プレビュー画面を表示

.PrintPreview

最後の、PrintPreviewをつかうことで、印刷プレビューで確認することができます。


たった、数行ですが、このマクロを実行することだけで、印刷設定を瞬時に完了することができます。

10/13/2021

Excel。CEILING.MATH関数は、発注書などで活躍する関数です。【function: CEILING.MATH】

Excel。CEILING.MATH関数は、発注書などで活躍する関数です。

<CEILING.MATH関数>

職場によって見る見ないという関数だとは思いますが、CEILING.MATH関数は、発注書などをつくるときに、大変活躍してくれる関数です。


なお、CEILING.MATH関数の読み方は「シーリング・マス」です。

所属は、「数学/三角」です。


CEILING.MATH関数の引数も確認しておきましょう。

CEILING.MATH (数値,[基準値],[モード])

となっています。


どのような時に活躍してくれるのか確認してみましょう。

次の表を用意しました。


発注希望数がB列に入力されています。

1個ずつ発注できるならば、79個とか146個とかで行うことが出来るのですが、納品される箱がダース。


つまり12個入りのために、12の倍数で発注数を設定しないといけないわけです。


B4の120のように12×10なので、そのまま120と発注数に入力することができますが、79や146という場合、なかなかダースでというのは、大変ですし、データ数が増えれば暗算で対応するとしても時間がかかってしまいます。


そこで、CEILING.MATH関数の登場です。


C2に次の数式をつくって、オートフィルで数式をコピーします。

=CEILING.MATH(B2,12)

すると、このように算出されました。


発注数が、どれも、12の倍数になっていることがわかりますね。

当然、一番近い数値に切り上げてくれています。


仮に引数の基準値を「8」にすれば、8の倍数で切り上げてくれます。

10/11/2021

Excel。等間隔のデータを手早くコピーしてリスト化するにはどうしたらいいの?【Equally spaced】

Excel。等間隔のデータを手早くコピーしてリスト化するにはどうしたらいいの?

<INDEX+ROW関数>

セル参照にしても、コピーペーストをするとしても、等間隔のデータを手早くコピーしてリスト化する作業は結構面倒です。例えば次のような表の場合です。


3日ごとの集計されている合計値を、別セルにリスト化したいわけですね。


サンプルのように件数が少ない場合、「努力と根性」でどうにかできますが、面倒です。


Excel VBAでプログラムを作ってもいいですが、簡単な関数をつかった数式で対応することができます。


その数式は、

=INDEX($B$2:$B$13,ROW(A1)*4)

という数式が、E1に設定されています。


この数式を、オートフィルで数式をコピーするだけで、簡単で、手早くリスト化することができます。


今回のようなケースの場合は、行番号・列番号が交差されるセル番地を算出できる「INDEX関数」か、指定した参照の行番号・列番号の範囲の値を算出する「OFFSET関数」のどちらかで、対応できないかを考えてみるといいですね。


このデータの特徴としては、3日間の合計値は、行数が、4つごと。

つまり、4の倍数ごとに登場しているわけです。


そこで、行番号・列番号が交差されたセル番地を参照できる「INDEX関数」をつかうことで、算出できるのではと、想像します。


では、実際にINDEX関数をつかって、数式をつくってみます。


INDEX関数は、2つの種類から選択できる関数です。


INDEX(配列,行番号,[列番号])で算出できますので、こちらを採用します。


引数を確認していきます。

配列ですが、これは、値がある範囲なので、$B$2:$B$13。


完成した数式をオートフィルでコピーしますので、絶対参照を設定しておきます。


行番号。

ROW(A1)*4

ここがポイントです。


合計値が登場しているセルは、B5・B9・B13ですが、配列で、B2:B13としています。

行数は2行目が1で13行目が12なわけですから、実際に求めたい数値は、「4・8・12」ですね。

B2:B13の4行目・8行目・12行目を算出したいわけです。


B5=4行目=1×4

B9=8行目=2×4

B13=12行目=3×4


1~3と増加する数値は、行番号を算出することができるROW関数をつかうと、すべての問題をクリアすることができます。


ROW(A1)は1。オートフィルで数式をコピーするので、ROW(A2)なら2と算出してくれます。


引数の列番号は、列を移動させる必要がないので、省略が可能です。


INDEX関数は、アイディアによって使い勝手がいい関数なので、機会がありましたら、アレコレつかってみると、現場で使用している数式を、コンパクトにすることができるかもしれませんね。