2/28/2023

Excel。データ間の差が一番大きなデータの行全体を塗りつぶしたい【Numerical difference】

Excel。データ間の差が一番大きなデータの行全体を塗りつぶしたい

<条件付き書式+MAX+ABS関数>

データ間の差が、最大のものを確認したい場合、目視で行うとしたら、容易ではありません。


そこで、該当するデータの行全体を塗りつぶすことで把握するにはどのようにしたらいいのでしょうか。

データ間の差

使用するデータのE2には、

=C2-D2

という数式が設定されていて、オートフィルで数式をコピーしています。


データ全体を塗りつぶすということですから、「条件付き書式」をつかっていきます。


A2:E11を範囲選択して、ホームタブにある「条件付き書式」の「新しいルール」をクリックします。


新しい書式ルールダイアログボックスが表示されます。

条件付き書式

「数式を使用して、書式設定するセルを決定」を選択します。


「次の数式を満たす場合に値を書式設定」のボックスに、次の数式を設定します。


=MAX(ABS($E$2:$E$11))=$E2


あとは、書式ボタンをクリックして、塗りつぶす色を設定して、OKボタンをクリックすれば完成です。


それでは、設定した数式を確認しておきましょう。


「差」から考えていきます。

当然のことながら、前回の数値よりも今回のほうが大きければ差は「プラス」になり、小さければ「マイナス」になります。


記号を除いた「値」にすれば、値の高低を確認することができます。


この記号を取り除いた値。

すなわち「絶対値」を算出する必要があります。


Excelで絶対値を算出するには「ABS関数」をつかうことで算出することができます。


その結果を該当する範囲内の「最大値」を求めたいので、MAX関数と組み合わせてあげればいいわけです。


そして、算出された差の最大値がE2と合致するのかどうかを判断させたいので

「=$E2」をつけています。


なお、列を固定した複合参照にすることで、行全体を塗りつぶすことができます。

2/27/2023

Excel。帳票から指定した行列を除いたデータを抽出するならDROP関数です。【DROP】

Excel。帳票から指定した行列を除いたデータを抽出するならDROP関数です。

<DROP関数>

帳票から必要な部分をコピー&ペーストしてもいいのですが、新しく登場したDROP関数をつかってみると、意外と手早く抽出することができます。

DROP関数

例えば、帳票の途中にあるデータを抽出(転記)したいとします。


その場合、該当の範囲をコピー&ペーストしてもいいのですが、大きい帳票だと、範囲選択が面倒な作業になるわけです。


そこで、B9にDROP関数をつかった数式をつくってみます。

=DROP(B3:G5,0,3)


これだけで、抽出することができました。

なお、スピル機能によって、オートフィルで数式をコピーする必要はありません。


この数式の引数を確認しておきましょう。


DROP関数の引数は、

DROP(array,rows,[columns])

となっています。


最初の引数の「array」は、範囲選択です。B3:G5を範囲として設定しています。


2番目の引数は「rows」で、範囲選択の何行目から抽出するのかを設定します。


このDROP関数は、範囲選択から不要なところをカットというかトリミングするイメージなので、行はトリミングする必要がないので「0」と設定します。


最後の引数は「columns」です。

設定した左側から何列目のデータにするのかを設定します。


列は、範囲選択から左から不要な列数をカット。

トリミングします。

左から3列は不要なので、「3」と設定します。


DROP関数をつかうと、このように、ちょっとしたした帳票からでも、必要なデータを手早く抽出することができます。

2/26/2023

Excel。指定した日付をつくることができるのがDATE関数です。【DATE】

Excel。指定した日付をつくることができるのがDATE関数です。

<関数辞典:DATE関数>

DATE関数

読み方: デイト  

分類: 日付時刻 

DATE関数

DATE(年,月,日)

指定した日付を算出する

2/25/2023

Excelの様々な関数の読み方や引数などを紹介。今回は、STEYX関数~SUBTOTAL関数です。【dictionary】

Excelの様々な関数の読み方や引数などを紹介。今回は、STEYX関数~SUBTOTAL関数です。

<Excel関数辞典:VOL.76>

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

STEYX関数

読み方: スタンダードエラーワイエックス  

STEYX(既知のy,既知のx)

回帰直線の標準誤差を算出する 



STOCKHISTORY関数

読み方: ストックヒストリー  

STOCKHISTORY(stock,start_date,[end_date],[interval],[headers],[properties1],…)

指定された銘柄と日付範囲の過去の相場データの配列を返す 



SUBSTITUTE関数

読み方: サブスティチュート  

SUBSTITUTE(文字列,検索文字列,置換文字列,[置換対象])

文字列中の特定の文字を別の文字に置換する 



SUBTOTAL関数

読み方: サブトータル  

SUBTOTAL(集計方法,参照1,…)

11種類の集計方法で小計を算出します 

2/24/2023

Excel。ピボットテーブルで累計を求めるにはどうしたらいいの。【Cumulative】

Excel。ピボットテーブルで累計を求めるにはどうしたらいいの。

<ピボットテーブル>

集計に長けている「ピボットテーブル」。


オートフィルター機能もついているので、集計値など、抽出に連動して把握できるなど、とても便利な機能の一つです。


そこで、集計だけでなく、「累計」を算出したい場合には、どのようにしたらいいのでしょうか。


次の表は、ピボットテーブルで、次のようなレイアウトをつくっています。


C3の見出しのままだと、わかりにくいので、C列に累計値を算出したいので、C3を「累計」と変更しておきます。


C列の集計計方法を累計に変更していきます。

見出しではなく、C4などのデータをクリックします。


ピボットテーブル分析タブの「フィールドの設定」をクリックします。


値フィールドの設定ダイアログボックスが表示されますので、タブを「計算の種類」にして、計算の種類の一覧から「累計」を選択したら、OKボタンをクリックします。


これで、累計を算出することができました。


計算の種類には様々なものが用意されていますので、つかってみると、作業効率が改善できるかもしれませんね。

2/23/2023

Excel。CUMPRINC関数は、元利均等返済における指定期間の元金返済額累計を算出します【CUMPRINC】

Excel。CUMPRINC関数は、元利均等返済における指定期間の元金返済額累計を算出します

<関数辞典:CUMPRINC関数>

CUMPRINC関数

読み方: キュムプリンク  

読み方: キュムラティブ・プリンシプル

分類: 財務 

CUMPRINC関数

CUMPRINC(利率,期間,現在価値,開始期,終了期,支払期日)

元利均等返済における指定期間の元金返済額累計を算出します

2/22/2023

Excel。複数列置きのデータを手早く合算するには、どうしたらいいの【Column total】

Excel。複数列置きのデータを手早く合算するには、どうしたらいいの

<SUMPRODUCT+(MOD+COLUMN関数>

連続しているデータならば、SUM関数で簡単に合計値を算出できますが、2列おきにあるデータの合計値を算出したい場合、どのようにしたら手早く算出することができるのでしょうか。


次の帳票の場合で説明していきます。


B列とE列のそれぞれの販売金額の合計をH列に算出したいわけです。


このケースのように2か所ならば、Ctrlキーをつかうことで、容易に範囲選択でるので算出すること自体面倒というわけでもありません。


ただ、さらに多くのデータだった場合は、数式を作るのも面倒になっていきます。


このような場合、何かしらの「法則」がないのかが見つかれば、数式を作成するヒントになります。


今回は、合計したい列が、2列置きにあります。


2列置きの数値だけを合算する方法を考えいけばいいということになります。


そこで、SUMPRODUCT関数をつかうことで、解決することができます。


H3には、SUMPRODUCT関数をつかった数式を設定しました。

=SUMPRODUCT((MOD(COLUMN(B3:G3),3)=2)*B3:G3)

オートフィルで数式をコピーしています。


この数式で2列置きの数値を合算することができたわけですが、どのような仕組みなのかを説明していきます。


SUMPRODUCT関数は、PRODUCT=「掛け算」とSUM=「総和」が組み合わさった関数です。


MOD関数は、除算した余りを算出する関数です。何の余りを算出するのかというと、COLUMN関数。つまり列番号を除算するわけですね。


「MOD(COLUMN(B3:G3),3)」


今回は、3で列番号を除算した余りを算出させるわけです。


その結果が、

「MOD(COLUMN(B3:G3),3)=2」


2と等しいのかとします。

B列は、余り2ということで合致しますから、「TRUE」となるわけです。合致しなければ「FALSE」となるわけです。


Excelでは、「TRUE」は「1」で「FALSE」が「0」となっていますから、その値を、セルに入力されている値と乗算「*B3:G3」します。


すると、販売金額の列以外は、「0」に置換されるので、販売金額だけを合計することができるというわけです。


ただ、ちょっと動きがわかりにくいので、このような数式を確認するには、数式タブにある「数式の検証」をつかってみましょう。


 

途中計算が視覚として理解することができます。

2/21/2023

Excel。CUMIPMT関数を使えば、元利均等返済における指定期間の金利累計を算出できます。【CUMIPMT】

Excel。CUMIPMT関数を使えば、元利均等返済における指定期間の金利累計を算出できます。

<関数辞典:CUMIPMT関数>

CUMIPMT関数

読み方: キュムアイピーエムティー 

読み方: キュムラティブ・イントレスト・ペイメント

分類: 財務 

CUMIPMT関数

CUMIPMT(利率,期間,現在価値,開始期,終了期,支払期日)

元利均等返済における指定期間の金利累計を算出します 

2/20/2023

Excel。2023/1/29-2/4にPOISSON関数など紹介したFacebookページのコメントです。【Trivia】

Excel。2023/1/29-2/4にPOISSON関数など紹介したFacebookページのコメントです。

<Facebookページ>

Facebookページに書いた、Excelの豆知識(Trivia)です。

1月29日

Excel。

PI関数

読み方は、パイで、円周率の数値を算出します。



1月30日

Excel。

PMT関数

読み方は、ピーエムティー:ペイメントで、ローンや投資の定期支払額を算出します。



1月31日

Excel。

POISSON関数

読み方は、ポワソンで、ポワソン分布の確率を算出します。



2月1日

Excel。

POISSON.DIST関数

読み方は、ポワソン・ディストで、ポワソン分布の確率を算出します。



2月2日

Excel。

POWER関数

読み方は、パワーで、数値のべき乗を算出します。



2月3日

Excel。

PPMT関数

読み方は、ピーピーエムティー:プリンシプルペイメントで、元利均等返済における指定期間の元金返済額を算出します。



2月4日

Excel。

PRICE関数

読み方は、プライスで、定期利付債の時価を算出します。

2/19/2023

Excel。VBA。条件に合致したデータが含まれる行全体を塗りつぶしたい【whole line】

Excel。VBA。条件に合致したデータが含まれる行全体を塗りつぶしたい

<Excel VBA:Interior>

条件に合致するデータがある行全体を塗りつぶすには、条件付き書式の新しいルールで、数式をつかった条件を設定することで、対応することができます。

 

ただ、データを読みこんだ後に、毎回同じ条件付き書式を設定するのも面倒です。

そこで、Excel VBAでプログラム文をつくると、作業効率が改善できるわけです。


Excel VBAで条件付き書式を設定しなくても、範囲選択を工夫することで、それほど、難しくないプログラム文で対応することができます。


今回は、E列の合計が210以上だったら、行全体を塗りつぶすことにします。


Sub 行塗りつぶし210以上()

    Dim i As Integer

    Dim lastrow As Long   

    lastrow = Cells(Rows.Count, "a").End(xlUp).Row


    For i = 2 To lastrow

        If Cells(i, "e") >= 210 Then

            With Range(Cells(i, "a"), Cells(i, "e")).Interior

                .ThemeColor = xlThemeColorAccent2

                .TintAndShade = 0.8

            End With

        End If

    Next

End Sub


このプログラム文を実行すれば、手早くE列の合計が210以上のデータの場合、その行全体を塗りつぶすことができます。


プログラム文を説明していきます。


最初は、変数宣言です。

Dim i As Integer

Dim lastrow As Long


For To Next文で繰り返し処理を行うので、繰り返す回数をlastrowに代入させます。

lastrow = Cells(Rows.Count, "a").End(xlUp).Row


繰り返し処理の中でIf文をつかって、E列のデータが210以上か判定します。

For i = 2 To lastrow

    If Cells(i, "e") >= 210 Then

        With Range(Cells(i, "a"), Cells(i, "e")).Interior

            .ThemeColor = xlThemeColorAccent2

            .TintAndShade = 0.8

        End With

    End If

Next


210以上の時には、塗りつぶしの処理をします。

With文をつかっているのは、同じことを繰り返し入力するのは面倒なので、省略することもありますが、可読性を高めるために使用しています。


「Range(Cells(i, "a"), Cells(i, "e"))」という範囲選択が行全体に対応しています。

この範囲選択のやり方を知らないと、行と列で繰り返し処理をすることになります。


「.Interior」が塗りつぶし処理です。

何色にするのかが、

「.ThemeColor = xlThemeColorAccent2

  .TintAndShade = 0.8」

です。


これらのプロパティは、テーマの色のパレットを指し示す指示をしています。


詳しくは、このBLOG内に記載しておりますので、ご参考まで。

「Excel。テーマの色の設定値ってこんな風になっているんですね。」

https://infoyandssblog.blogspot.com/search?q=vba+%E3%83%86%E3%83%BC%E3%83%9E%E3%81%AE%E8%89%B2

2018年1月2日 公開

2/18/2023

Excel。CUBEVALUE関数は、キューブから指定したセットの集計値を返せます。【CUBEVALUE】

Excel。CUBEVALUE関数は、キューブから指定したセットの集計値を返せます。

<関数辞典:CUBEVALUE関数>

CUBEVALUE関数

読み方: キューブバリュー 

分類: キューブ 

CUBEVALUE関数

CUBEVALUE(接続,[メンバー式1],…)

キューブから指定したセットの集計値を返す

2/17/2023

Excel。スピル機能で偏差を算出する数式は、今までの数式と異なります【Spill】

Excel。スピル機能で偏差を算出する数式は、今までの数式と異なります

<スピル機能>

データの散らばり具合を知るには、「偏差」を算出するわけです。

「偏差」を算出する数式をつくってみます。


偏差は、平均との差を算出します。

平均値は、C13に算出してあります。

いままでならば、D2の数式は、「=C2-$C$13」と絶対参照をつかった数式をつくり、そのあと、オートフィルで数式をコピーするわけです。


ところがスピル機能が登場したことで、数式の作り方が変わりました。

D2の数式は、「=C2:C11-C13」。

絶対参照をつかわなくても、スピル機能によって数式の範囲が拡張されます。

そして、C2:C11のように範囲選択した数式を設定します。


スピル機能によって、全く数式の作り方が、かわることもあります。

2/16/2023

Excel。複数セルの内容ごとに改行して、一つのセルにまとめたい。【put together】

Excel。複数セルの内容ごとに改行して、一つのセルにまとめたい。

<TEXTJOIN+CHAR関数>

複数のセルに入力されているデータを、次のように、一つのセルにまとめたいのですが、セルごとの区切りがわかるように、改行してまとめたいわけです。


今回のように、結合する件数が少なければ、CONCAT関数をつかう、あるいは、「&(アンパサンド)」で、文字結合する方法があります。


ただ、問題になってくるのが、単純に結合するのではなくて、セルとセルの間には、改行した状態にしたいわけです。


また、件数が多い場合は、数式を作るのも面倒になってきます。


では、A5には、どのような数式を設定したのかというと、

=TEXTJOIN(CHAR(10),TRUE,B1:D1)


という数式です。


数式を説明していきます。

最初のTEXTJOIN関数は、文字結合を行うことができる関数です。


このTEXTJOIN関数の引数がCONCAT関数や「&(アンパサンド)」よりも効率がいいことがわかります。


最初の引数は、区切り文字です。


改行で区切りたいわけですね。

改行は、CHAR関数はJISコードで割り振られた文字コードを設定することができます。改行は、10番なので、「CHAR(10)」とします。


2つ目の引数は、空白があったらどうするのか。

範囲内に空白があった場合は、無視したいので、「TRUE」を設定します。

最後の引数は、結合したい文字の範囲です。

よって「B1:D1」


これで数式としては完成ですが、このあと、ちょっとした処理をしないといけません。


実行すると、文字が結合されただけのようにしかみえません。


そこで、「折り返して全体を表示する」をクリックすると、改行で区切られていることがわかります。

なお、行幅が広がらない時は、広げてあげる必要があります。


今回紹介したTEXTJOIN関数は、新しい関数です。


新しい関数を色々使ってみると、今までよりも、簡単でわかりやすい数式を作れるかもしれませんので、試してみるといいかもしれませんね。

2/15/2023

Excel。キューブセットにある項目数を返すのが、CUBESETCOUNT関数です。【CUBESETCOUNT】

Excel。キューブセットにある項目数を返すのが、CUBESETCOUNT関数です。

<関数辞典:CUBESETCOUNT関数>

CUBESETCOUNT関数

読み方: キューブセットカウント  

分類: キューブ

CUBESETCOUNT関数

CUBESETCOUNT(セット)

キューブセットにある項目数を返す

2/14/2023

Excel。条件に合致する数値のみを積算したい時にはどうしたらいいの【DPRODUCT】

Excel。条件に合致する数値のみを積算したい時にはどうしたらいいの

<DPRODUCT関数>

データをすべて積算すること自体、ケースとしては少ないかもしれませんが、「0(ゼロ)」を積算すると、「0(ゼロ)」になるという特性を生かすことで、トラブルなどを見つける手掛かりにすることができます。


次の表で確認していきます。

DPRODUCT関数

 

例えば、D列には、提出済みならは、「1」を入力します。

「0」はまだ提出していない場合です。


すべてそろっていれば、1に1を積算しても1になるので、「1」になるはずです。

逆に、0(ゼロ)があれば、積算した結果は「0」になるわけです。


そして、イチイチ、条件を探しながら積算の数式をつくるのは面倒です。


そこで、カテゴリーの提出物はすべてそろったのかを確認したいときには、「DPRODUCT関数」をつかってみると、チェックしやすくなります。


B9に設定した数式は、

=DPRODUCT(A1:D6,D1,A8:A9)


「0(ゼロ)」と算出されたということは、未提出のものがあるわけです。


IF関数と組み合わせると、算出結果をよりわかりやすくすることも出来ます。


では、DPRODUCT関数の引数を確認しておきます。


最初の引数は、データベース。表なので、見出し行も含めた、「A1:D6」を設定します。


2つ目の引数は、フィールド。

積算したいフィールドの見出しを選択しますので、「D1」の「提出済み」を設定します。


最後の引数は、条件です。

条件は、「A8:A9」に用意しました。データベース系関数は、条件を用意する必要があります。

2/13/2023

Excel。日付から、手早く年度別(4月~3月)で区分けするにはどうしたらいい【year】

Excel。日付から、手早く年度別(4月~3月)で区分けするにはどうしたらいい

<YEAR+MONTH関数>

年ごとに、集計するには、年ごとに区分けできればいいので、YEAR関数だけで年を算出すれば、区分けすることができます。


ただ、4月~翌年の3月までの年度となると、YEAR関数だけで簡単に算出することはできません。

年度別(4月~3月)で区分け

では、どのようにしたら、手早く年度で区分けすることができるのでしょうか。


そこで、B2には、次の数式を設定します。

=YEAR(A2)-(MONTH(A2)<4)


オートフィルで数式をコピーしています。

YEAR関数とMONTH関数を組み合わせてつかうことで、手早く算出することができます。


なお、算出結果が、日付で表示されていた場合は、表示形式を標準にして、「シリアル値」に戻してあげる必要です。


今回の年度を算出するにあたり、ポイントになるのは、翌年の1月~3月です。

4月~翌年3月までの年度は、年と比べて、3ヶ月ズレているわけです。


そのため、IF関数をつかって、1月1日~3月31日までは、前年にするような数式をつくることが多いかと思います。


ただ、その数式は、少々長くなり可動性が悪化しやすくなる傾向にあります。


今回は、単純に3ヶ月前にスライドさせるようにした数式を作ってみました。


この数式を説明すると、

YEAR関数は、年を算出しますので、A2の場合は、「2023」と算出されます。


そして、「(MONTH(A2)<4)」。

MONTH関数は、月を算出することができる関数なので、A2は3月なので、「3」と算出されます。


「3<4」算出結果が4より小さいかを判断させています。


この「(MONTH(A2)<4)」は成立していることがわかります。

つまり、この「(MONTH(A2)<4)」は、成立しているか、していないかという判断の数式なわけです。


成立しているということは「TRUE」なわけですね。

Excelでは「TRUE=1」ということですから、「(MONTH(A2)<4)」は「1」と算出されるわけです。

こうすれば、年から「1」を減算しますから、前年の数値を算出することができるというわけです。


A3の4月は、「(MONTH(A2)<4)」が成立しませんので「FALSE」という判断です。

Excelでは「FALSE=0」ですから、YEAR関数で算出された結果そのものということになります。


TRUE=1。

FALSE=0。

というのを知っていると、Excelのスキルの幅が広がりますので、色々試してみるといいかもしれませんね。

2/12/2023

Excel。CUBESET関数は、キューブからセット式を返します。【CUBESET】

Excel。CUBESET関数は、キューブからセット式を返します。

<関数辞典:CUBESET関数>

CUBESET関数

読み方: キューブセット  

分類: キューブ 

CUBESET関数

CUBESET(接続,セット式,[キャプション],[並べ替え順序],[並べ替えキー])

キューブからセット式を返す 

2/11/2023

Excel。2023/1/22-1/28にPERCENTRANK関数など紹介したFacebookページのコメントです。【Trivia】

Excel。2023/1/22-1/28にPERCENTRANK関数など紹介したFacebookページのコメントです。

<Facebookページ>

Facebookページに書いた、Excelの豆知識(Trivia)です。

facebookページ

1月22日

Excel。

PERCENTRANK関数

読み方は、パーセントランクで、数値の位置を百分率で算出します。



1月23日

Excel。

PERCENTRANK.EXC関数

読み方は、パーセントランク・エクスクルーシブで、数値がどの位置に相当するのかを百分率で算出します。



1月24日

Excel。

PERCENTRANK.INC関数

読み方は、パーセントランク・インクルーシブで、数値の位置を百分率で算出します。



1月25日

Excel。

PERMUT関数

読み方は、パーミュテーションで、順序を区別して抜き出すときの順列を算出します。



1月26日

Excel。

PERMUTATIONA関数

読み方は、パーミュテーション・エーで、重複許可の順序を区分して抜き出すときの順列を算出します。



1月27日

Excel。

PHI関数

読み方は、ファイで、標準正規分布の密度の値を算出します。



1月28日

Excel。

PHONETIC関数

読み方は、フォネティックで、文字列のフリガナ情報を取り出す

2/10/2023

Excel。2か月後の最初に来る日曜日を手早く知るにはどうしたらいいの【months later】

Excel。2か月後の最初に来る日曜日を手早く知るにはどうしたらいいの

<EDATE+WEEKDAY関数>

何か月後を知るには、EDATE関数をつかうことで、算出することができます。


EDATE関数をつかえば、2022/10/1の2か月後ならば、2022/12/1と算出することができます。


ただ、EDATE関数では、曜日での調整をすることはできません。


例えば、2か月後の最初に来る日曜日を知りたい場合です。


どのような数式をつくったらいいのか確認していきます。

A2には、「2022/9/25」と入力してあります。


この日は、日曜日です。


2か月後の最初の日曜日の日付をA4に算出していきます。


なお、EDATE関数で2ヶ月後を算出したのが、A7です。

A7の数式は、

=EDATE(A2,2)


A7の日付は、「2022/11/25」と算出されますが、この日は、金曜日です。

この日の後にくる、日曜日を算出したいわけです。


そこで、A4に設定した数式は、

=EDATE(A2,2)+7-WEEKDAY(EDATE(A2,2),11)


これで、算出したのが、A4の「2022/11/27」で、この日は、日曜日です。


ポイントになるのが、「+7-WEEKDAY(EDATE(A2,2),11)」の部分です。


EDATE関数で算出した、何か月後の日付の曜日に、足りない曜日分を和算する作業をしているわけです。


日付を「2022/9/27」で説明していきます。


EDATE関数で算出した結果が、希望の曜日。

つまり、日曜日だった場合は、EDATE関数で算出した結果でいいわけですから、「+(プラス)」する必要はありません。


どうやったら「+0」をつくることができるのかを考えます。


WEEKDAY関数は、種類によって、曜日に番号を振ってくれる関数です。


日曜日が7と算出されれば、7-7で「0」をつくることができます。


WEEKDAY関数の2つ目の引数である「種類」を「11」で設定してあげれば日曜日を「7」と算出することができます。


もし、日曜日でなくて、月曜日で揃えたい場合には、「種類」を「12」に変更すれば、月曜日で揃えることができます。


少し数式が複雑なので、数式タブにある「数式の検証」をつかうことで、どのように算出されているのかを視覚的に確認することもできます。

2/09/2023

Excel。ピボットテーブルで構成比を算出するにはどうしたらいいの【composition ratio】

Excel。ピボットテーブルで構成比を算出するにはどうしたらいいの

<ピボットテーブル>

ピボットテーブルをつかうと、手早く集計することができます。


集計するだけでなく、構成比などの比較も算出できるように、色々用意されています。


データからピボットテーブルを挿入しています。


B列・C列共に、在庫数の合算値を集計しています。

C列に構成比を表示させていきます。


また、B3の見出し名を在庫合計

C3の見出し名を構成比と変更も合わせて処理します。


ピボットテーブルは、見出し名では、作業できないものが結構ありますので、データのセルである、C4をクリックします。


ピボットテーブル分析タブの「フィールドの設定」をクリックします。


値フィールドの設定ダイアログボックスが表示されます。


集計方法タブから計算の種類タブをクリックして、計算の種類を「列集計に対する比率」を選択して、OKボタンをクリックします。


これで、在庫数の構成比を、手早く算出することができました。

2/08/2023

Excel。キューブで指定したランクのメンバーを返すのがCUBERANKDMEMBER関数です。【CUBERANKDMEMBER】

Excel。キューブで指定したランクのメンバーを返すのがCUBERANKDMEMBER関数です。

<関数辞典:CUBERANKDMEMBER関数>

CUBERANKDMEMBER関数

読み方: キューブランクドメンバー  

分類: キューブ 

CUBERANKDMEMBER関数

CUBERANKDMEMBER(接続,セット式,ランク,[キャプション])

キューブで指定したランクのメンバーを返す

2/07/2023

Excel。セルごとに年・月・日が含まれているデータから日付をつくりたい【Date】

Excel。セルごとに年・月・日が含まれているデータから日付をつくりたい

<DATE+SUBSTITUTE関数>

データを読み込んでみたら、そのあとの作業がスムーズにできないで困るケースがあります。


例えば、年月日がセルごとにわかれているのですが、それぞれに、年・月・日という文字も含まれているために、DATE関数をつかって、手早く日付にすることができません。


DATE関数は、年月日に設定できるのが数値型でなければなりません。


「2023年」のように「年」が含まれていると、文字型になってしまいます。

左揃えになっていることからも、文字型になっていることがわかります。


当然、DATE(a2,b2,c2)としても、エラーが表示されてしまうだけで、日付にすることができません。


置換処理で、「年」とかの文字を空白にしてもいいですが、少し面倒です。


そこで、置換することができる関数であるSUBSTITUTE関数をDATE関数と組み合わせてつかうことで、解決することができます。


D2に次の数式を設定します。


=DATE(SUBSTITUTE(A2,"年",""),SUBSTITUTE(B2,"月",""),SUBSTITUTE(C2,"日",""))


オートフィルで数式をコピーしています。


「SUBSTITUTE(A2,"年","")」を説明します。

SUBSTITUTE関数の最初の引数は、文字列なので、A2を設定します。


2つ目の引数は、検索文字列。年という文字を削除したいので、「”年”」と設定します。


3つ目の引数は、置換文字列。年を削除したいので「””」とすることで、年を消すことができます。


これを、「月」と「日」にも同じように設定してきます。


セルに入力されているデータによっては、簡単に日付にすることができないこともありますので、すんなり日付にできない時には、文字型になっていないかを確認するところから始めてみるといいかもしれませんね。

2/06/2023

Excel。2023/1/15-1/21にOFFSET関数など紹介したFacebookページのコメントです。【Trivia】

Excel。2023/1/15-1/21にOFFSET関数など紹介したFacebookページのコメントです。

<Facebookページ>

Facebookページに書いた、Excelの豆知識(Trivia)です。

1月15日

Excel。

OFFSET関数

読み方は、オフセットで、基準のセルからの相対位置を指定する



1月16日

Excel。

OR関数

読み方は、オアで、複数の条件のいずれか1つを満たすかどうかを調べる



1月17日

Excel。

PDURATION関数

読み方は、ピーデュレーションで、目標価値になるまでの投資期間を算出します。

Period DURATIONの略



1月18日

Excel。

PEARSON関数

読み方は、ピアソンで、ピアソンの積率相関係数を算出します。



1月19日

Excel。

PERCENTILE関数

読み方は、パーセンタイルで、0%以上100%以下の データの百分位数を算出します。



1月20日

Excel。

PERCENTILE.EXC関数

読み方は、パーセンタイル・ エクスクルーシブで、0%より大きくて100%未満の データの百分位数を算出します。



1月21日

Excel。

PERCENTILE.INC関数

読み方は、パーセンタイル・ インクルーシブで、0%以上100%以下の データの百分位数を算出します。

2/05/2023

Excel。CUBEMEMBERPROPERTY関数はキューブからメンバーのプロパティの値を返す【CUBEMEMBERPROPERTY】

Excel。CUBEMEMBERPROPERTY関数はキューブからメンバーのプロパティの値を返す

<関数辞典:CUBEMEMBERPROPERTY関数>

CUBEMEMBERPROPERTY関数

読み方: キューブメンバープロパティ  

分類: キューブ 

CUBEMEMBERPROPERTY関数

CUBEMEMBERPROPERTY(接続,メンバー式,プロパティ)

キューブからメンバーのプロパティの値を返す

2/04/2023

Excel。VBA。クロス集計のデータ部分だけを削除したいけど、どうしたいい【Delete】

Excel。VBA。クロス集計のデータ部分だけを削除したいけど、どうしたいい

<Excel VBA: OffsetとResize>

単純作業になればなるほど、面倒に感じます。

例えば、データ部分だけを範囲選択して、データを削除したい場合です。


B2:D5を範囲選択して、DELキーを押すだけの処理だからこそ、面倒になるわけですね。

そこで、Excel VBAでプログラム文を作ってみることにします。


Sub データ部分削除()

    Dim データ範囲 As Range

    Set データ範囲 = Range("a1").CurrentRegion

    

    データ範囲.Offset(1, 1).Resize(データ範囲.Rows.Count - 2, データ範囲.Columns.Count - 2). Clear

End Sub


実行してみます。


これで、データ部分のみを削除することができます。


プログラム文を確認しておきましょう。

お馴染みの変数宣言ですね。

Dim データ範囲 As Range

Set データ範囲 = Range("a1").CurrentRegion

データ範囲という変数に、A1を起点とする連続したデータを範囲(CurrentRegion)とします。


見出し行も関係なく、表全体を範囲選択している状態です。


これで、Clearすると、全部消えてしまうので、OffsetとResizeをつかって、データ部分だけになるように調整します。


それが、次の行です。

データ範囲.Offset(1, 1).Resize(データ範囲.Rows.Count - 2, データ範囲.Columns.Count - 2). Clear


A1からはじまる「データ範囲」の表を、

1行1列ずらしたところ(Offset(1, 1))から、

全体の行数から-2した行数の全体の列数から-2した列数(Resize(データ範囲.Rows.Count - 2, データ範囲.Columns.Count - 2))を、

削除(Clear)するという、プログラム文です。

2/03/2023

Excel。CUBEMEMBER関数はキューブからメンバーまたは組を返します。【CUBEMEMBER】

Excel。CUBEMEMBER関数はキューブからメンバーまたは組を返します。

<関数辞典:CUBEMEMBER関数>

CUBEMEMBER関数

読み方: キューブメンバー  

分類: キューブ 

CUBEMEMBER関数


CUBEMEMBER(接続,メンバー式,[キャプション])

キューブからメンバーまたは組を返す

2/02/2023

Excel。四捨五入してドル表示できるDOLLAR関数というのがあります。【DOLLAR】

Excel。四捨五入してドル表示できるDOLLAR関数というのがあります。

<DOLLAR関数>

表示形式で数値にドルを表示するのではなく、ROUND関数のように指定した桁で四捨五入をして、なおかつ、数値じゃなくて、数値文字列に変更することができるDOLLAR関数というのがあります。


B2に設定した数式は、

=DOLLAR(A2,0)

オートフィルで数式をコピーしています。


A2の100という数値に、ドルマークを表示した文字列にしています。


A3は100.5ですが、$101になっています。

2つ目の引数は、桁数で、「0」にすることで、ROUND関数同様に、整数表示にすることができます。


比較するために、C列は、表示形式でドルマークを表示していますが、DOLLAR関数とことなっています。


なお、DOLLAR関数で算出した結果を計算式でつかうと、ドルマークは無くなります。

2/01/2023

Excel。隔週おきに行全体を塗りつぶしたいけど、どうしたらいいの【biweekly】

Excel。隔週おきに行全体を塗りつぶしたいけど、どうしたらいいの

<条件付き書式:MOD+WEEKNUM関数>

簡易カレンダーで隔週おきに行全体を塗りつぶしたい時には、どのようにしたら、効率的に作成することができるでしょうか。


Excelの日付には、第何週なのかという情報も含まれています。

第何週なのかを算出できる関数が、「WEEKNUM関数」です。


このWEEKNUM関数で算出した値を2で除算して、余りがあるのか、ないのかを判断すれば、隔週おきに分けることができます。


そして、条件で塗り分けるわけですから、条件付き書式を使えば、対応することができます。


それでは、設定方法を確認していきます。

範囲選択します。今回は、A2:B15が該当します。

ホームタブの条件付き書式にある、「新しいルール」をクリックします。


新しいルールダイアログボックスが表示されます。

「数式を使用して、書式設定するセルを決定」をクリックします。

「次の数式を満たす場合に値を書式設定」のボックスに、数式を設定します。


=MOD(WEEKNUM($A2,1),2)


あとは、書式ボタンをクリックして、書式を設定したらOKボタンをクリックして完成です。


MOD関数は、余りを算出する関数です。

WEEKNUM関数が、該当する日付が第何週に当たるのかを算出する関数です。


ところで、

=MOD(WEEKNUM($A2,1),2)=1

というように、数式のうしろに、「=1」とか「=0」とかをつけていません。


これは、=MOD(WEEKNUM($A2,1),2)が、「1」か「0」のみ算出されます。


「=1」となれば、「1」はExcelでTRUE。

「=0」ならば、「0」でExcelではFALSEと設定されています。


TRUEならば、成立しているということで、条件を満たす。

すなわち、書式設定の対象となるわけです。


そのため、数式のうしろに、「=1」とか「=0」をつけていなくても、大丈夫というわけです。


あと、WEEKNUM関数の最初の引数を「$A2」と列を固定した複合参照にすることで、行全体を塗りつぶすことができます。


条件付き書式と数式を組み合わせることで、日頃使っている資料が、より一層わかりやすくなるかもしれませんので、色々試してみるといいかもしれませんね。