7/31/2023

Excel。手早く曜日ごとの売上高を集計したいけど、どのようにしたらいいの。【by day of the week】

Excel。手早く曜日ごとの売上高を集計したいけど、どのようにしたらいいの。

<SUM+IF+WEEKDAY関数>

曜日ごとに集計したい場合、曜日がわかるように一度数式をつくり、それを条件として集計する方法を行うことがあります。


途中の計算式を作らなくても、SUM関数とIF関数とWEEKDAY関数を組み合わせるだけで、数式一つで、曜日ごとの集計をすることができます。


次の表を用意しましたので、確認していきます。

曜日別集計

B1:C11にデータがあります。

曜日が表示されていれば、SUMIF関数をつかえば、算出することができますが、曜日を表示されていません。


通常、日付に基づいた曜日を算出させてから、曜日を条件として集計するわけですが、それでは、数式を複数作る必要があります。


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

=SUM(IF(WEEKDAY($B$2:$B$11,1)=E2,$C$2:$C$11,0))


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

これで、曜日ごとの売上高の集計を算出することができました。


数式を説明すると、

WEEKDAY($B$2:$B$11,1)=E2

WEEKDAY関数は、曜日を算出する関数です。


WEEKDAY関数の2つ目の引数にある「種類」を1と設定することで、1を日曜日で7を土曜日として数値を割り振ってくれます。


E列のNOをつかって、合致することで、何曜日なのかを判断することができます。


そこで、IF関数をつかうことで、合致しなかった場合は、「0(ゼロ)」とすることができます。

最後に、SUM関数をつかって、集計します。


以前は、この数式は、配列関数で作成したのですが、Microsoft365では、普通に数式をつくるだけで、対応してれます。


本当に、合っているのか、念のため確認してみましょう。

A2に曜日を算出する数式をつくります。

=TEXT(B2,"aaa")


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

日曜日は、983+874なので、1857とG2の値と合致していることがわかります。


今回紹介した数式ですが、WEEKDAY関数をMONTH関数やYEAR関数にすることで、作業列に算出してから集計しなくても、数式一つで算出することができます。

7/30/2023

Excel。2つの文字列が合致するしないを手早く確認するにはEXACT関数をつかいます。【match】

Excel。2つの文字列が合致するしないを手早く確認するにはEXACT関数をつかいます。

<EXACT関数>

指定の文字通りに入力されたかどうかを確認する作業の時に、「=(イコール)」をつかった数式では、ある問題が発生します。


そのため、文字列を比較して合致しているか、合致していないか確認する時にはEXACT関数をつかってみましょう。

EXACT関数

比較するのは、A列とB列です。


C列には、EXACT関数をつかった数式。

C2には、

=EXACT(A2,B2)


D列には、単純に確認する数式

=A2=B2


をそれぞれ設定してあります。


ともに、C列D列ともオートフィルで数式をコピーしています。


さて結果を見てみましょう。

合致していると判断されれば「TRUE」。

合致していなければ「FALSE」と表示されます。


A3とB3のカタカナとひらがなは、当然合致しませんので、ともに、「FALSE」。

A4とB4の全角と半角も合致しないので、ともに「FALSE」。


問題は、A5よB5。


なんと、D列は、「TRUE」。

すなわち合致と判断されています。


逆にC列のEXACT関数は、「FALSE」という結果を表示しています。

つまり、「=(イコール)」をつかった比較では、大文字と小文字が同じと判断されてしまうのです。


大文字と小文字が異なる判断をさせたい時には、EXACT関数をつかうといいでしょう。

7/29/2023

Excelのショートカットキー。CtrlキーとF7~F12までを紹介【shortcut】

Excelのショートカットキー。CtrlキーとF7~F12までを紹介

<Ctrlキー+F7~F12>

作業効率もUPする、知っていると便利なショートカットキー。

なお、Excelのバージョンによって多少変わります。

Excelのショートカットキー

今回は、CtrlキーとF12でブックを開くなどの記号を紹介。


Ctrl+F7

最大化されていない時に、移動コマンドを実行する



Ctrl+F8

最大化していない時に、サイズコマンドを実行する



Ctrl+F9

開いているブックを最小化



Ctrl+F10

開いているブックを最大化



Ctrl+F11

マクロシートを挿入する



Ctrl+F12

ブックを開く

7/28/2023

Excel。季節変動や採点競技でお馴染みのトリム平均を算出したい【trimmed average】

Excel。季節変動や採点競技でお馴染みのトリム平均を算出したい

<SUM+MAX+MIN+COUNT関数>

データ内から最高点と最低点を除いた平均値であるトリム平均値を算出するには、単純にAVERAGE関数では算出することはできません。


理由は簡単で、最大値と最小値を除くことができないからです。


そこで、データの総和と、その総和したデータの個数で除算した数値が平均値です。

そのデータの総和から最大値と最小値を減算してあげたものを、データの個数から「-2」した値を除算すれば、トリム平均値を算出することができるというわけです。


次のデータを使って確認しておきましょう。

トリム平均値

E1には、AVERAGE関数の数式を設定してあります。

=AVERAGE(B2:B9)


E2には、次の数式を設定することで、トリム平均値を算出しています。

=(SUM(B2:B9)-MAX(B2:B9)-MIN(B2:B9))/COUNT(B2:B9)-2


関数が多く登場してますが、いたってシンプルです。


SUM関数は総和を算出しています。

そこ値からMAX関数の最大値とMIN関数の最小値を減算します。


その値を、COUNT関数をつかって総和した件数から最大値と最小値の2件を減算した値で除算したのが、E2の算出結果である。

トリム平均値ということになります。


トリム平均値は、外れ値を除いた平均値を算出したいときにも使用する数式です。

7/27/2023

Excel。数値を最も近い偶数の整数に切り上げるのがEVEN関数です。【EVEN】

Excel。数値を最も近い偶数の整数に切り上げるのがEVEN関数です。

<EVEN関数>

四捨五入のROUND関数や、切り上げをするROUNDUP関数など、端数をコントロールする関数はExcelに多々あります。


その中の一つ。

EVEN関数は、次の特長をもっています。

・最も近い偶数に切り上げる。

・ROUND関数のように、小数点第何位のようにコントロールできない。

EVEN関数

「0より大きくて、2以下の間」ならば、「2」と算出するのが、EVEN関数の特長です。


そのため、整数の「1」は、「0より大きくて、2以下の間」にあるので、「2」と算出されるわけです。


ちなみに、偶数じゃなくて奇数に切り上げたい時は「ODD関数」をつかうことで対応できます。

7/26/2023

Excel。EOMONTH関数で月数後の月末日を算出できます。【EOMONTH】

Excel。EOMONTH関数で月数後の月末日を算出できます。

<関数辞典:EOMONTH関数>

EOMONTH関数

読み方: イーオマンス

読み方: エンドオブマンス

分類: 日付時刻 

EOMONTH関数

EOMONTH(開始日,月)

月数後の月末日を算出する

7/25/2023

Excel。同じカテゴリーごとに手早く連番を設定するにはどうしたらいいの【Serial number】

Excel。同じカテゴリーごとに手早く連番を設定するにはどうしたらいいの

<COUNTIF関数>

都道府県ごとにその中で、連番を設定するにはどのようにしたらいいのでしょうか。

連番

D列に都道府県が入力されています。

同じ都道府県内なら連番と設定したいわけです。


A列は、東京都で1~6。

埼玉県は1件しかないので、1で、次の神奈川県は2件あるので、2までというように、連番を設定したいわけです。


IF関数をつかうイメージがありますが、COUNTIF関数で、手早く設定することができます。


A2にCOUNTIF関数をつかった、数式を設定します。

=COUNTIF($D$2:D2,D2)


あとは、オートフィルで数式をコピーすれば、同じカテゴリー内で連番を設定することができました。


なんとなくIF関数をつかうイメージがしますが、COUNTIF関数で対応することができます。


設定した数式のポイントは、

COUNTIF関数の最初の引数「範囲」です。


「$D$2:D2」と始点を絶対参照にすることで、範囲が拡張することができます。


2番目の引数「検索条件」。

都道府県が変わっても、その行までの範囲で、件数を算出することができるというわけです。

そのため、カテゴリー内ごとに、まとまっていなくても、連番を設定することができます。


売上高を降順で並べ替えてみましたが、カテゴリー内の連番を設定することができました。

7/24/2023

Word。Microsoft365 InsiderのWordの規定値が大幅変更されている【Insider】

Word。Microsoft365 InsiderのWordの規定値が大幅変更されている

<Microsoft365 Insider:情報>

Microsoft365にInsider版といって最新版をつかえるバージョンがあるのですが、Wordの規定値が大幅に変更されています。


要するに、「Normal.dotm」に変更があったようです。


まず、フォントサイズが、11ptになっています。今までは10.5ptですね。


一番困るのは、行間です。

文書がスカスカになってしまいます。

段落のダイアログボックスを表示してみると

Microsoft365Insider

なんと、規定値で、段落後に8ptが設定されています。
そして、行間も「倍数」で間隔が「1.08」と設定されています。

これによって、行間がスカスカになってしまっているわけです。


なので、いままでのWordのようにつかうとしたら、段落後は0ptで、行間は「1行」。

フォトサイズを「10.5」に変更しなければなりません。


また、色も変わっています。

新しく、テーマのOfficeが更新されたことで、カラーパレットは次のように変わってしまいました。


紫色の「プラム」が登場しました。Insiderでつくったファイルを、通常のMicrosoft365で開くと、「プラム」ではなく「ピンク」と表示されるので、紫ではないのかもしれません。

それと、新たに、「ハイコントラストのみ」の設定ボタンが追加されました。

オンにしてみるとカラーパレットかわります。


追加の色というのが表示されます。

この追加の色は、「背景の色とコントラストがいい色」だそうです。


またMicrosoft Insider365のWordが変わっただけですが、今後、かなりの確率で、Microsoft365のWordにも反映される可能性がありますので、念のためのお知らせでした。

7/23/2023

Excel。ENCODEURL関数でURL形式でエンコードされた文字列を返すことができます。【ENCODEURL】

Excel。ENCODEURL関数でURL形式でエンコードされた文字列を返すことができます。

<関数辞典:ENCODEURL関数>

ENCODEURL関数

読み方: エンコードユーアールエル  

分類: Web 

ENCODEURL関数

ENCODEURL(文字列)

URL形式でエンコードされた文字列を返す

7/22/2023

Access。クエリ。除算とそのあまりを手早く算出するには、どうしたらいい。【Mod】

Access。クエリ。除算とそのあまりを手早く算出するには、どうしたらいい。

<Mod演算子>

例えば、現在の在庫数だと何ダースあって、ダースにならない余りは、いくつあるのかをAccessで行いたい場合、どのようにしたら、手早く算出することができるのでしょうか。


次の在庫数を管理しているテーブルを用意しています。


ダースなので、12が1ダースですから、12で除算すればいいわけですよね。


ところが、実際に単純に12で除算すればいいわけではないことが、わかります。

また、余りですが、ExcelのMOD関数のように関数は用意されていません。


しかし、関数ではなくて、四則演算のようにModという演算子が用意されています。


では、クエリをつくっていきます。

作成タブのクエリデザインをクリックします。


必要なフィールドを選択して、クエリを作成します。

クエリ

除算のダースに設定した演算フィールドは、

ダース: Int([在庫数]/12)


Int関数をつかわない

ダース: Int([在庫数]/12)


という、単純に、12で除算する演算フィールドにすると、算出結果が整数とはならず、小数点も含めて算出してしまいます。


そこで、整数にするInt関数をつかうことで、小数点を除くことができます。


余りの演算フィールドは、

余り: [在庫数] Mod 12

と設定することで、余りを算出することができます。


実行して確認してみましょう。


このように、算出することができます。


余りを算出する演算フィールドは、四則演算記号のように、Modという演算記号を使うことで、余りを算出することができます。


Excelとは全く異なりますので、Accessで余りを算出したい場合には、知っておくと便利かもしれませんね。

7/21/2023

Excel。平均以上の件数を手早く算出するには、どうしたらいいの【above average】

Excel。平均以上の件数を手早く算出するには、どうしたらいいの

<COUNTIF+AVERAGE関数>

平均以上の件数を算出したい場合ですが、平均値をAVERAGE関数で、一度算出したあと、平均値以上の数値が何件あるのかをCOUNTIF関数をつかって、算出するとなると、数式を2つ作らなければいけません。

平均以上の件数を算出したい

そこで、COUNTIF関数とAVERAGE関数を組み合わせてつかうことで、1つだけの数式で、平均値以上の件数を算出することができます。


D2に設定した数式は、

=COUNTIF(B2:B6,">="&AVERAGE(B2:B6))


これだけで、平均以上の件数を算出することができます。


では、数式を確認しておきましょう。


COUNTIF関数は、単一条件の件数を算出する関数です。


最初の引数は、「範囲」。

店舗の売上高なので、B2:B6と範囲選択します。


2つめの引数は、「検索条件」。

条件は、平均以上なので、AVERAGE関数をつかうわけですが、比較演算子との結合がポイントとなるわけです。


比較演算子とセル番地を組み合わせる時は、「&(アンパサンド)」をつかって結合させます。


比較演算子と数式を組み合わせる時も、「&(アンパサンド)」をつかって結合させるので、「">="&AVERAGE(B2:B6)」と引数を設定する必要があるわけです。


「">=AVERAGE(B2:B6)”」としてしまうと、「">=AVERAGE(B2:B6)”」という文字が検索条件になってしまいます。

7/20/2023

Excel。実効年利率を算出できるEFFECT関数【EFFECT】

Excel。実効年利率を算出できるEFFECT関数

<関数辞典:EFFECT関数>

EFFECT関数

読み方: エフェクト  

分類: 財務 

EFFECT関数

EFFECT(名目利率,複利計算期間)

実効年利率を算出する 

7/19/2023

Excel。ABC分析の表をスピル機能で、手早くつくってみよう。【ABC analysis】

Excel。ABC分析の表をスピル機能で、手早くつくってみよう。

<SUM関数・IFS関数>

パレート図のもとになる、「ABC分析」。


色々な関数をつかってABC分析の表をつくるのですが、Excelに加わったスピル機能をつかってつくってみると、今までよりも、手早く、つくることができます。

ABC分析

C列の構成比を算出します。


C2に設定した数式は、新宿の売上高を全体の合計で除算するわけですが、合計値はありませんね。

また、合計を絶対参照にして、除算しなければいけません。


ところが、スピル機能の登場によって、C2の数式は、次のように設定することができます。


=B2:B11/SUM(B2:B11)


オートフィルで数式をコピーすることもなく、スピル機能によって、C3:C11に数式が反映(ゴースト)されます。


D列の構成比の累計値は、始点のセルを絶対参照にした、数式をつくります。


D2の数式は、

=SUM($C$2:C2)

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


C列とD列は、パーセント表示の小数点第一位という設定をすることで、視覚的にわかりやすくします。


E列は、構成比の累計からABCのランク分けを行います。

今回は、80%未満は、A。90%未満はBで、それ以外はCとします。


三分岐なので、色々な関数で算出することができますが、今回はIFS関数を採用しました。


E2のIFS関数をつかった数式は、

=IFS(D2:D11<80%,"A",D2:D11<90%,"B",TRUE,"C")


スピル機能が使えるので、セル番地を指定するのではなく、範囲選択をD2:D11とすることで、オートフィルで数式をコピーする必要がありません。


IFS関数では、「TRUE」を論理式でつかうことで、「それ以外」として設定することができます。


これで、ABCとランク分けすることができました。


今までつかっていた数式もスピル機能に対応した数式に変更することによって、可読性が向上するなど、メリットもあるかもしれませんので、見直してみるのもいいかもしれませんね。

7/18/2023

Excel。分析ツールで相関分析を手早く算出してみよう。【correlation】

Excel。分析ツールで相関分析を手早く算出してみよう。

<分析ツール>

アドインで、追加したデータタブにある「データ分析」をつかうことで、「相関分析」を手早く算出することができます。


次のデータをつかっていきます。


B列の来店客数とC列の売上高。


そして、D列の広告費の相関関係が強いのか弱いのかを手早く算出するのに「データ分析」をつかうわけです。


「データ分析」をクリックすると、データ分析ダイアログボックスが表示されます。

データ分析ダイアログボックス

「相関」を選んだら、OKボタンをクリックします。


相関ダイアログボックスが表示されます。


入力範囲には、B1:D7を選択します。見出し行も含めて範囲選択します。


先頭行をラベルとして使用にチェックマークをいれます。


出力先は、A9とします。

あとは、OKボタンをクリックします。


これで、相関の強さがわかりますね。


なお、算出結果の意味ですが、

0.9以上なら「非常に強い相関」

0.7以上0.9より小さいなら「やや強い相関」

0.5以上0.7より小さいなら「やや弱い相関」

0.5より小さいなら「非常に弱い相関」

といわれています。

7/17/2023

Excel。EDATE関数で、何か月後の日付を算出できます。【EDATE】

Excel。EDATE関数で、何か月後の日付を算出できます。

<関数辞典:EDATE関数>

EDATE関数

読み方: イーデイト  

分類: 日付時刻 

EDATE関数

EDATE(開始日,月)

何か月後の日付を算出する

7/16/2023

Excel。VBA。手早く小計機能で処理したいので、プログラムをつくってみた【subtotal】

Excel。VBA。手早く小計機能で処理したいので、プログラムをつくってみた

<Excel VBA:subtotal>

Excelの小計機能を使うときには、最初に並べ替えをして、そのあとに、データタブの「小計」をつかって、集計するわけですね。


ただ、処理数が多く、意外と面倒な処理だといえます。

そこで、Excel VBAでプログラムをつくって対応していきます。


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


では、次のようにブログラムをつくってみました。


Sub 小計機能()

    With ActiveSheet.Sort

        .SortFields.Clear

        .SortFields.Add2 Key:=Range("b1"), Order:=xlAscending

        .SetRange Range("a1").CurrentRegion

        .Header = xlYes

        .Apply

    End With


    Range("a1").CurrentRegion.Subtotal groupby:=2, Function:=xlSum, totallist:=4

End Sub


実行してみます。

小計
 

このように、小計処理をおこなうことができました。


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


色々なプログラム言語とExcel VBAが少々ことなるところは、あくまでも、「Excel」なんだということです。


Excelのダイアログボックスをつかった処理は、そのダイアログボックスと同じ項目を設定する必要があります。


小計機能は、基準となる列を並べ替え処理をして、まとめておく必要があります。


並べ替えをしているのが、下記の部分です。

    With ActiveSheet.Sort

        .SortFields.Clear

        .SortFields.Add2 Key:=Range("b1"), Order:=xlAscending

        .SetRange Range("a1").CurrentRegion

        .Header = xlYes

        .Apply

    End With


これは、並べ替えのダイアログボックスをみれば、どこを設定しているかが、わかります。


「SortFields.Add2 Key:=Range("b1"), Order:=xlAscending」の「SortFields.Add2 Key:=Range("b1")」は、最優先されるキーです。


商品名ごとの集計をしたいので、見出しの「商品名」があるのがB1なので、「Range("b1")」とします。


「Order:=xlAscending」は、順序なので、昇順で並べ替えをしたいので、「xlAscending」と設定します。


「SetRange Range("a1").CurrentRegion」は、並べ替えは自動的に範囲選択をしますので、A1を起点として連続する範囲を、並べ替えの対象とします。


「Header = xlYes」は、先頭行を見出しとして使用するのチェックマークです。


「Apply」は、OKボタンですね。


これで、並べ替えが行われます。


そして、小計機能をおこなうわけです。


この小計機能もダイアログボックスなので、それを設定するように、プログラムをつくってあげます。


Range("a1").CurrentRegion.Subtotal groupby:=2, Function:=xlSum, totallist:=4


出だしの「Range("a1").CurrentRegion.Subtotal」は、A1を起点とした範囲を「Subtotal」=小計します。


「groupby:=2」は、グループの基準です。

左から2列目の商品名を基準として集計しますので、「2」です。


「Function:=xlSum」は、集計方法です。合計なので、「xlSum」と設定します。


「totallist:=4」は、集計するフィールドです。

左から4列目の売上高の集計をしたいので、「4」と設定します。


これで、小計をすることができます。


また、データ量が増減しても、「CurrentRegion」としていることで、対応することも可能です。

7/15/2023

Excel。2023/5/14-5/20にUPPER関数など紹介したFacebookページのコメントです。【Trivia】

Excel。2023/5/14-5/20にUPPER関数など紹介したFacebookページのコメントです。

<Facebookページ>

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

facebookページ

5月14日

Excel。

UNICHAR関数

読み方は、ユニコードキャラクターで、数値で指定したUnicode番号の文字に変換します。



5月15日

Excel。

UPPER関数

読み方は、アッパーで、英字を大文字に変換する



5月16日

Excel。

VALUE関数

読み方は、バリューで、文字列を数値に変換する



5月17日

Excel。

VAR関数

読み方は、バリアンスで、数値群を標本データとみなした不偏分散を算出します。



5月18日

Excel。

VARA関数

読み方は、バリアンスエーで、全データを標本データとみなした不偏分散を算出します。



5月19日

Excel。

VARP関数

読み方は、バリアンスピーで、数値群を母集団全体とみなした分散を算出します。



5月20日

Excel。

VARPA関数

読み方は、バリアンスピーエーで、全データを母集団全体とみなした分散を算出します。

7/14/2023

Excel。ピボットテーブルで順位を表示するにはどうしたらいいの。【rank】

Excel。ピボットテーブルで順位を表示するにはどうしたらいいの。

<ピボットテーブル>

大量のデータから、手早く集計することができる「ピボットテーブル」。

集計するだけではなく、同時に順位も算出することができると、さらに手早く資料をつくることもできます。


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


表内をクリックしておいて、挿入タブの「ピボットテーブル」をクリックします。


テーブルまたは範囲からのピボットテーブルダイアログボックスが表示されますので、項目を確認してOKボタンをクリックします。


新しいシートが追加されます。


ピボットテーブルのフィールド作業ウィンドウの下にある、レイアウトボックスにフィールドを設定します。


行ボックスには、「商品名」、

値ボックスには、「合計」を2つ設定します。


ピボットテーブルのレイアウトを確認します。

ピボットテーブル

合計フィールドの2つめの「合計/売上高2」を順位に変更していきます。


C4をクリックします。

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


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


名前の指定を「順位」に変更します。


「計算の種類」タブにして、計算の種類を「降順での順位」に設定します。


あとはOKボタンをクリックします。


このように、集計だけでなく、手早く順位も算出することができます。

7/13/2023

Excel。氏名分割は、TEXTSPLIT関数だけで手早く分けることができます。【Split】

Excel。氏名分割は、TEXTSPLIT関数だけで手早く分けることができます。

<TEXTSPLIT関数>

フルネームの氏名から苗字と名前を分割したい場合、フラッシュフィルをつかう、あるいは、LEFT関数やMID関数など複数の関数をつかって、処理をしていました。


ところが、Microsoft365(Excel365)に登場した「TEXTSPLIT関数」をつかうと、スピル機能も加わって、TEXTSPLIT関数のみで、苗字も名前も分割することができるようになりました。


なお、前提条件として、苗字と名前の間は、「” “(半角スペース)」で区切られているものとします。

TEXTSPLIT関数

B2にTEXTSPLIT関数をつかった、数式を設定します。

=TEXTSPLIT(A2," ")


すると、スピル機能によって、自動的にC2も数式が反映されます。


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


このように、新しく追加された、TEXTSPLIT関数の登場で、フラッシュフィルだけでなく、関数でも手早く、苗字と名前を別々にすることができるようになりました。


TEXTSPLIT関数の引数も確認しておきましょう。


TEXTSPLIT関数

読み方: テキストスピリット  

分類: 文字列操作 

TEXTSPLIT(text,col_delimiter,[row_delimiter],[ignore_empty],[match_mode],[pat_with])


1番目の引数は、「text」。

文字列です。

分割対象になる文字列です。

今回は、「A2」。



2番目の引数は、「col_delimiter」。

行区切りです。

複数列に分割するための区切り文字を指定します。

半角スペースで区切りたいので、「” “」と設定します。



3番目以降は、省略できます。

3番目の引数は、「row_delimiter」。

列区切りです。

複数行に分割するための区切り文字を指定します。



4番目の引数は、「ignore_empty」。

空白は無視かどうかを設定します。

TRUEにすると空白文字列を無視します。

無視されるので、詰めて表示されます。

FALSEにすると、空白文字列分のセルが空欄になります。

ミドルネームとかがある場合に指定するといいですね。



5番目の引数は、「match_mode」。

一致モードです。

大文字と小文字を区別して対応することができます。

「0(ゼロ)」だと、大文字と小文字が区分されます。

「1」にすると区分されません。



6番目の引数は、「pat_with」。

代替文字列のことです。

7/12/2023

Excel。DVARP関数で条件を満たすレコードの標本分散を算出できます。【DVARP】

Excel。DVARP関数で条件を満たすレコードの標本分散を算出できます。

<関数辞典:DVARP関数>

DVARP関数

読み方: ディーバリアンスピー  

分類: データベース 

DVARP関数

DVARP(データベース,フィールド,条件)

条件を満たすレコードの標本分散を算出します 

7/11/2023

Excelのショートカットキー。CtrlキーとF4でブックを閉じるなどを紹介【shortcut】

Excelのショートカットキー。CtrlキーとF4でブックを閉じるなどを紹介

<Ctrlキー+F1~F6>

作業効率もUPする、知っていると便利なショートカットキー。

なお、Excelのバージョンによって多少変わります。

Excelのショートカットキー

今回は、Ctrlキー+F4でブックを閉じるなどの記号を紹介。


Ctrl+F1

リボンの表示非表示



Ctrl+F2

印刷プレビューを表示 Ctrl+Pと同じ



Ctrl+F3

名前の管理ダイアログボックスが表示されます



Ctrl+F4

ブックを閉じる Ctrl+Wと同じ



Ctrl+F5

ブックウィンドウが元のサイズになる



Ctrl+F6

複数開いているブック間を移動する

7/10/2023

Excel。年月日が別々のセル、しかも年は短縮元号。日付にするにはどうしたらいい【Era name】

Excel。年月日が別々のセル、しかも年は短縮元号。日付にするにはどうしたらいい

<TEXT+TEXTJOIN関数>

データを読み込んだら、なんと日付が、年月日が別々のセルで管理されています。


しかも、年が元号で、昭和を「S」というように表示する短縮した状態でした。

短縮元号。日付にするにはどうしたらいい

これでは、日付に関する計算や抽出はできませんので、E列に日付をつくることになります。


では、どのようにしたら、アルファベット一文字の元号と年月日をつかって、日付にできるのか、確認していきましょう。


アルファベット一文字の元号の場合、DATE関数をつかって、日付を表示することはできません。


今回のケースでは、表示形式を設定することができる、TEXT関数をつかうことで、日付にすることができます。


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

=TEXT(A2&TEXTJOIN("-",TRUE,B2:D2),"ggge年m月d日")


E5まで、オートフィルで数式をコピーすれば、完成です。


年が元号でしたので、日付を和暦(元号)表示にしましたが、グレゴリオ暦(西暦)で表示したいならば、数式は、次のようにすれば問題ありません。


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


TEXT関数は、表示形式の関数です。

元号で表示したいので「"ggge年m月d日"」としています。


あとは、日付はDATE関数をつかうことができませんが、結合はしなければなりません。


年月日は、「/(スラッシュ)」で結合します。


「B2&”/”&C2&”/”&D2」と「&(アンパサンド)」をつかって、何度も繰り返すのも面倒なので、TEXTJOIN関数をつかってみました。


TEXT関数の最初の引数である値には、

A2&TEXTJOIN("-",TRUE,B2:D2)

と設定します。


TEXTJOIN関数は、最初の引数の「区切り文字」で結合することができます。


2つ目の引数は、3つ目の引数の値があった場合、どうするのかを設定することができます。


TRUEだと、空のセルは無視してくれます。

FALSEだと、空のセルを含めてくれます。


空白のセルは存在していないことにしていますので、TRUEとしました。


最後の引数がテキストです。

範囲選択できますので、B2:D2と年月日を範囲選択しています。


これで、日付にすることができました。


アルファベット一文字で短縮された元号と、年月日が別々のセルにある場合には、ちょっとアイディアが必要になります。

7/09/2023

Excel。条件を満たすレコードの不偏分散を算出するのがDVAR関数です。【DVAR】

Excel。条件を満たすレコードの不偏分散を算出するのがDVAR関数です。

<関数辞典:DVAR関数>

DVAR関数

読み方: ディーバリアンス  

分類: データベース 

DVAR関数

DVAR(データベース,フィールド,条件)

条件を満たすレコードの不偏分散を算出します 

7/08/2023

Excel。ERROR.TYPE関数はエラーの種類に対応した数値を算出してくれます。【error】

Excel。ERROR.TYPE関数はエラーの種類に対応した数値を算出してくれます。

<ERROR.TYPE関数>

Excelには、様々なエラーがありますが、エラーに対して、数値(戻り値)を算出することができます。

ERROR.TYPE関数

例えば、C2には、

=A2*B2

という数式を設定しました。


ただ、B2が「10円」という文字が入力されています。


数値と文字をつかって、計算したので、「#VALUE!」というエラーが表示されているわけです。

もし、#VALUE!というエラーだったら、こういう処理をしていうように、判断した処理をしたい場合に「ERROR.TYPE関数」をつかうといいというわけですね。


D2にERROR.TYPE関数をつかった数式を設定してみます。

=ERROR.TYPE(C2)

「3」という結果が表示されました。

この「#VALUE!」は、エラー値では、「3」をもっているというわけです。


Excelには、様々なエラーがあり、それぞれに番号が割り振られていますので、エラーで条件判断をしたい時などには、ERROR.TYPE関数が重宝するというわけです。

7/07/2023

Excel。数値がすべて入力されてから平均値を算出したいけど、どうしたらいい【have everything】

Excel。数値がすべて入力されてから平均値を算出したいけど、どうしたらいい

<IF+COUNT+AVERAGE関数>

平均値を算出するには、AVERAGE関数をつかえば、手早く算出できます。


そもそも、平均値は、数値の合計値をその件数で除算した値です。


ということは、数値の件数に差があると、平均値を比べることができません。


次の表で説明します。


7行目には、AVERAGE関数で平均値を算出する数式が設定してあります。


C7も、データが3件の平均が算出してあります。


B7の平均は5件分とすべてのデータが入力してあるので、当然B7とC7を単純に比べることはできません。


そこで、すべてのデータが入力されたらば、平均値を算出するようにしたいわけです。

=IF(COUNT(B2:B6)=5,AVERAGE(B2:B6),"")

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

=IF(COUNT(B2:B6)=5,AVERAGE(B2:B6),"")


C7には、オートフィルで数式をコピーします。


これで、データがすべて入力されていない場合には、平均値を算出、表示しないようにできます。


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

この数式のポイントはCOUNT関数をつかっているところです。


範囲内のセルの一部が空白だったら計算しないというようなIF関数を考えがちですが、範囲の一部というどこのセルが空白なのかを調べる条件をつくるのは、大変です。


そこで、COUNT関数を組み合わせることで、手早く、データが全て入力されていなければ算出しないようにできます。


なお、対象が数値だったので、COUNT関数をつかって対応しましたが、当然文字の場合は、COUNT関数では対応できません。


COUNT関数は数値のみが、数える対象です。

7/06/2023

Excel。「または」のOR条件で手早く合計を算出するにはどうしたらいい。【OR condition total】

Excel。「または」のOR条件で手早く合計を算出するにはどうしたらいい。

<SUM+SUMIFS関数>

複数条件の合計を算出するならば、SUMIFS関数を使います。


このSUMIFS関数で、「または」のOR条件で算出したい時には、アイディアが必要です。


次の表をつかい、まずは対応方法から確認していきましょう。

OR集計

A1:D9に表があります。


F1:F3に条件を用意してあります。


今回は、商品名が、「鉛筆」と「ボールペン」の売上高の合計値を算出します。


そこで、F6には、次の数式を用意します。

=SUM(SUMIFS(D2:D9,B2:B9,F2:F3))


これで、「鉛筆」と「ボールペン」の売上高の合計を算出することができます。


なぜ、SUMIFS関数だけだと、スピル機能によって、鉛筆とボールペンごとの合計値を算出するだけで、条件に合致した合計値は算出してくれません。


F6の数式は、

=SUMIFS(D2:D9,B2:B9,F2:F3)


そのため、SUM関数をつかってネスト構造にすることで、合計値を算出することができたというわけです。


そして、一番の問題ですがSUMIFS関数は、「または」のOR条件は、対応していないということです。


F6の数式を変更してみます。

=SUMIFS(D2:D9,B2:B9,F2,B2:B9,F3)


もう一つ条件が追加されました。

ところが、結果を見ると、「0」と表示されています。


SUMIF関数を複数使って合算させる方法もあります。


=SUMIF(B2:B9,F2,D2:D9)+SUMIF(B2:B9,F3,D2:D9)


ただ条件が増えると、可読性が悪化するので、あまりお勧めできません。