8/31/2023

Youtube。2023年7月にマイナスのパーセントを赤文字にするなどを公開しました。【Youtube】

Youtube。2023年7月にマイナスのパーセントを赤文字にするなどを公開しました。

<Excel Office Channel>

ExcelをはじめとしたMicrosoft Officeのテクニックを紹介するYouTubeチャンネルです。

Excel Office Channel

https://www.youtube.com/@ExcelOfficeChannel/featured


【Excel】条件付き書式:空白のセルがわかるように、手早く塗りつぶしたい



【Excel】表示形式:マイナスのパーセントなら、自動的に文字の色を赤色にしたい。



【Excel】AVERAGE関数:範囲に空白とゼロで平均値が異なります。

8/30/2023

Excel。VLOOKUP関数で条件によって検索する列を変えるにはどうしたらいいの【column change】

Excel。VLOOKUP関数で条件によって検索する列を変えるにはどうしたらいいの

<VLOOKUP+IF関数>

VLOOKUP関数は、INDIRECT関数と名前の定義を組み合わせることで、別々の表(範囲)から検索値を抽出することはできます。

では、表(範囲)の中で条件によって抽出対象になる列を変えることはできるのでしょうか。


次の表で説明します。

VLOOKUP+IF関数

A2に商品名を入力したら、B2にD1:F5の表(範囲)から、単価かセールの数値を表示したいわけです。


B1には、入力規則のリストをつかって、「単価」と「セール」を切り替えるようにしています。


B1が単価なら、B2には、E列の単価の数値を抽出し、B1がセールならB2にはF列のセールの数値を抽出したいわけです。


そこで、B2に設定するVLOOKUP関数は次のようにします。


=VLOOKUP(A2,$D$2:$F$5,IF(B1="単価",2,3),FALSE)


これで、B1を切り替えると、該当する列からデータを抽出することができます。


VLOOKUP関数のポイントは、3番目の引数の列番号です。


この列番号を、単価なら「2」、セールなら「3」としたいわけですから、IF関数をつかって列番号を変えることができます。


これによって、B1の値と連動して、抽出範囲を切り替えることができるようになります。

8/29/2023

Excel。EXACT関数で英字の大文字と小文字を区別して文字列が一致するか比較できます。【EXACT】

Excel。EXACT関数で英字の大文字と小文字を区別して文字列が一致するか比較できます。

<関数辞典:EXACT関数>

EXACT関数

読み方: イグザクト  

分類: 文字列操作 

EXACT関数

EXACT(文字列1,文字列2)

英字の大文字と小文字を区別して文字列が一致するか比較する

8/28/2023

Excelのショートカットキー。CtrlキーとEnterで一括入力などを紹介【shortcut】

Excelのショートカットキー。CtrlキーとEnterで一括入力などを紹介

<Ctrlキー+制御系>

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

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

Excelのショートカットキー

Ctrl+Enter

複数のセルに同じデータを一括入力する



Ctrl+Space

列選択します。日本語入力がオフの時有効



Ctrl+Insert

コピーする Ctrl+Cと同じ



Ctrl+Delete

データを削除する Deleteキーと同じ



Ctrl+BackSpace

アクティブセルが表示されるまで画面スクロール



Ctrl+Tab

ブックを切り替える

8/27/2023

Access。ファイルを開いたら、セキュリティリスクメッセージが表示、どうしたらいい。【security risk】

Access。ファイルを開いたら、セキュリティリスクメッセージが表示、どうしたらいい。

<Access:セキュリティリスク>

ネットワークからコピーしたAccessファイルを開いたら、セキュリティリスクが表示されて、使用することができません。

セキュリティリスクが表示

「詳細を表示」ボタンをクリックしてもMicrosoftのサイトが表示されるだけで、解決することはできません。


しかも、マクロはついていないはずなのですが…。


では、どのようにしたらいいのでしょうか?


Accessを一度閉じて、ファイルを右クリックします。


プロパティをクリックします。


ファイルのプロパティダイアログボックスが表示されます。


属性のセキュリティにある「許可する」のチェックマークをオンにします。

これで対応完了ですので、OKボタンをクリックします。


Accessファイルを開いても、先ほど表示されていた、「セキュリティリスク」は表示されませんので、普通につかうことができます。

8/26/2023

Excel。2023/6/11-6/17にABS関数など紹介したFacebookページのコメントです。【Trivia】

Excel。2023/6/11-6/17にABS関数など紹介したFacebookページのコメントです。

<Facebookページ>

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

Facebookページ

6月11日

Excel。

Z.TEST関数

読み方は、ゼット・テストで、Z検定の上側確率を算出します。



6月12日

Excel

ABS関数

読み方: エービーエス

読み方: アブソリュート

分類: 数学/三角 

ABS(数値)

数値の絶対値を算出します Absoluteの略



6月13日

Excel

ACCRINT関数

読み方: アクリント  

読み方: アクルード・インタレスト

分類: 財務 

ACCRINT(発行日,最初の利払日,受渡日,利率,額面,頻度,[基準],[計算方式])

定期利付債の経過利息を算出します 



6月14日

Excel

ACCRINTM関数

読み方: アクリントエム  

読み方: アクルード・インタレスト・マット

分類: 財務 

ACCRINTM(発行日,受渡日,利率,額面,[基準])

満期利付債の利息を算出します ACCRued INTerest (at Maturity)の略



6月15日

Excel

ACOS関数

読み方: アーク・コサイン  

分類: 数学/三角 

ACOS(数値)

逆余弦(アークコサイン)を算出します 



6月16日

Excel

ACOSH関数

読み方: ハイパーポリック アークコサイン  

分類: 数学/三角 

ACOSH(数値)

数値の双曲線逆余弦を算出します 



6月17日

Excel

ACOT関数

読み方: アーク コタンジェント  

分類: 数学/三角 

ACOT(数値)

数値の逆余接を算出します

8/25/2023

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

Excel。数値を偶数に切り上げるのがEVEN関数です。

<関数辞典:EVEN関数>

EVEN関数

読み方: イーブン  

分類: 数学/三角 

EVEN関数

EVEN(数値)

数値を偶数に切り上げる

8/24/2023

Excel。問題文に「積立」とあればFV関数をつかって将来の価値を算出します。【future value】

Excel。問題文に「積立」とあればFV関数をつかって将来の価値を算出します。

<FV関数>

日常、あまりつかわない財務系の関数ですが、「MOS(マイクロソフトオフィススペシャリスト)」のExpertでは、試験範囲になっています。


結構、財務系関数が苦手・わかりにくいという方も多くいます。


そこで、今回は、FV関数を紹介していきます。


積立とか将来というキーワードがあれば、FV関数をつかって算出します。

FV関数は、「Future Value」の略。つまり、「使用来の価値」ということですね。


FV関数をはじめ、財務系関数が厄介なところは、単位を揃えること と 複合参照での設定があげられます。


次の表をつかって確認します。

FV関数

どのようなことをしたいのかというと、年利0.25%で、毎月1000円ずつ積み立てたら6ヵ月でいくらになるのでしょうかというものですね。


ちなみに、預金はありません。という設定です。


このような場合には、将来の価値を算出したいので、FV関数をつかうわけです。


B5の数式は、

=FV($B$1/12,B$4,$A5,$E$1,0)


確認事項として、

B4:D4には、表示形式で「ヵ月」を表示する設定をしています。


よってセル自体には、数値が入力されています。


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

1番目の引数は「利率」。

「$B$1/12」


B1の0.25%を使います。

ただ月で算出しますので、年利そのままではつかえませんので、12で除算する必要があります。


また、オートフィルで数式をコピーすることを考慮して、絶対参照も忘れずに設定する必要があります。


2番目の引数は、「期間」。

「B$4」


積立期間ですから、B4の6ヵ月をつかいますが、オートフィルで数式をコピーします。


4行目は常に参照してもらわないといけないので、行固定の複合参照で設定します。


3番目の引数は、「定期支払額」。

「$A5」


毎月、積立する金額です。

ここもオートフィルで数式をコピーするとズレてしまいます。

A列は常に参照してもらう必要があるので、列固定の複合参照で設定します。


4番目の引数は、「現在価値」

「$E$1」

預金が0なので、省略してもOKですが、セル番地を使う場合には、絶対参照を忘れないで設定します。


5番目の引数は、「支払期間」

B2が期末になっているので「0」を設定します。

期首だと「1」を設定します。


これで、数式が完成しますので、

オートフィルで数式をコピーで終了です。

8/23/2023

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

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

<Excel関数辞典:VOL.84>

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

Excel関数辞典

TRANSPOSE関数

読み方: トランスポーズ  

TRANSPOSE(配列)

縦横を入れ替えた表をする 



TREND関数

読み方: トレンド  

TREND(既知のy,[既知のx],[新しいx],[定数])

重回帰分析による値を予測する 



TRIM関数

読み方: トリム  

TRIM(文字列)

不要なスペースを削除する 



TRIMMEAN関数

読み方: トリムミーン  

TRIMMEAN(配列,割合)

異常値を除いて平均値を算出します

8/22/2023

Excel。指数分布に基づいて指定時間以内に順番が来る確率を知りたい。【EXPON.DIST】

Excel。指数分布に基づいて指定時間以内に順番が来る確率を知りたい。

<EXPON.DIST関数>

海外のイミグレーションで、長蛇の列に遭遇することがあります。

EXPON.DIST関数

いよいよ、次は自分の番だけど、あとのどのぐらいかかるのか?


そこで、例えば、1時間に10人対応しているとして、あと5分以内に順番が回ってくる確率を知りたい場合には、EXPON.DIST関数を使うことで、算出することができます。


B6に設定した数式は、

=EXPON.DIST(B4/60,B3,TRUE)

算出結果は、56.5% 

ということで、56.5%の確立で、自分の順番が来るそうです。


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


最初の引数は、「x」で変数です。

今回は、1時間10人と時間に単位を揃えるので、B4の値を60で除算しています。

よって「B4/60」


2つ目の引数は「λ(ラムダ)」です。「B3」


3つ目の引数は、「関数形式」です。

TRUEにすれば、累積分布で算出してくれます。

FALSEにすると、確率密度で算出してくれます。


このEXPON.DIST関数は、指数分布に基づいた、「待ち行列理論」の間隔のモデル化する場合に使用する時に使用する関数です。


指数分布は、待ち時間などのその間の平均時間を表します。


EXPON.DIST関数の読み方は、

「エクスポン・ディスト」

「エクスポネンシャル・ディストリビューション」

です。

8/21/2023

Excel。問題文に「定期支払額・支払」とあればPMT関数をつかって算出します。【payment】

Excel。問題文に「定期支払額・支払」とあればPMT関数をつかって算出します。

<PMT関数>

日常、あまりつかわない財務系の関数ですが、「MOS(マイクロソフトオフィススペシャリスト)」のExpertでは、試験範囲になっています。


結構、財務系関数が苦手・わかりにくいという方も多くいます。


そこで、今回は、PMT関数を紹介していきます。


定期支払額とか支払というキーワードがあれば、PMT関数をつかって算出します。

PMT関数は、「Payment」の略。つまり、「支払」ということですね。


PMT関数をはじめ、財務系関数が厄介なところは、単位を揃えること と 複合参照での設定があげられます。

PMT関数

B5の数式は、

=PMT($B$1/12,$A5,B$4,,0)

とすれば、算出することができます。


まずは、この表で確認しておく必要があるのが、A5:A7です。


○ヵ月と表示されていますが、表示形式で「ヵ月」を表示させているので、実際は数値のみが入力されています。


あと、できることならば、関数挿入ダイアログボックスをつかわずに、手入力で数式をつくることをお勧めします。


数式オートコンプリート機能で、引数の設定が楽になるものがあります。


さて、これを踏まえて、PMT関数の引数を確認していきましょう。


1番目の引数は、「利率」。

「$B$1」

年利のB1をつかいます。

ただ、月での支払いなので、年利を月という単位に変換する必要がありますので、「/12」と1年=12ヵ月なので、12で除算する必要があります。


また、オートフィルで数式をコピーしますので、絶対参照を忘れずに設定する必要があります。


2番目の引数は、「期間」。

「$A6」

A5の6(ヵ月)をつかいます。


オートフィルで数式をコピーすることを考えます。

A列は常に参照する必要がありますから、列を固定した複合参照にします。


3番目の引数は、「現在の価値」

「B$4」

10000円を年利4%の6ヵ月で返済するには、月々の支払額を知りたいわけですから、B4をつかいます。


このセル番地もオートフィルで数式をコピーしますので、常に4行目を参照してほしいので、行固定の複合参照で設定する必要があります。


4番目の引数は、「将来の価値」

返済ですから、完済をめざしますので、「0」あるいは、省略します。

今回は省略しました。


最期5番目の引数は、「支払期間」

支払が期首なのか、期末なのかを設定します。

期首が「1」で期末が「0」と定義されています。


数式が完成したら、オートフィルで数式をコピーします。


PMT関数は、算出後、表示形式を自動的に「通貨」に変更します。

「通貨」を設定されて、マイナスなので、フォントの色は赤になるわけですね。


試験範囲なので、受験される方は確認しておくと、いいでしょう。

8/20/2023

Excel。ERROR.TYPE関数でエラーのタイプを表す数値を算出できます。【ERROR.TYPE】

Excel。ERROR.TYPE関数でエラーのタイプを表す数値を算出できます。

<関数辞典:ERROR.TYPE関数>

ERROR.TYPE関数

読み方: エラー・タイプ  

分類: 情報 

ERROR.TYPE関数

ERROR.TYPE(エラー値)

エラーのタイプを表す数値を算出する

8/19/2023

Excelのショートカットキー。CtrlキーとPage Downで右のシートに移動などを紹介【shortcut】

Excelのショートカットキー。CtrlキーとPage Downで右のシートに移動などを紹介

<Ctrlキー+矢印:ジャンプ>

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

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

Excelのショートカットキー

Ctrl+Page Up

左のワークシートに移動



Ctrl+Page Down

右のワークシートに移動



Ctrl+↑

ワークシート内の現在のデータ領域の先頭行に移動



Ctrl+→

ワークシート内の現在のデータ領域の右端行に移動



Ctrl+↓

ワークシート内の現在のデータ領域の末尾行に移動



Ctrl+←

ワークシート内の現在のデータ領域の左端行に移動



Ctrl+Home

最初のセル (A1 セル : 左上端) に移動する



Ctrl+End

ワークシート内のデータが含まれている最後のセル (右下隅のセル) に移動する

8/18/2023

Excel。カレンダーの末日問題はSEQUENCE関数の登場で、劇的に変わりました。【last day】

Excel。カレンダーの末日問題はSEQUENCE関数の登場で、劇的に変わりました。

<SEQUENCE+DATE関数>

カレンダーを作るときに、いつもネックになるのが、末日問題。


例えば、3月なら31日。

2月のうるう年なら29日までの表示にしたいわけです。


単純に上のセルを「+1」すると、翌月1日が表示されてしまうので、様々な条件を考えて、IF関数をつかうなどして、対応していました。


ところが、SEQUENCE関数という新しい関数が登場したことで、全く考え方が変わりました。


このSEQUENCE関数は、指定した回数の連番を設定することができます。


SEQUENCE関数がどのような関数なのかを確認しておきます。


A1に、

=SEQUENCE(5)

と設定しました。

SEQUENCE関数

すると、A1:A5に1からの連番を設定してくれました。

A1に設定した数式は、スピル機能によって、自動的に数式が拡張されます。

(A2:A5はゴースト)


引数に5と設定したので、5までの連番を設定してくれたわけです。


つまり、引数にDAY関数をつかってあげれば、日にち分の連番を入力してくれるはずです。


そこで、年月をセルに用意して、簡易カレンダーを作ってみました。

カレンダーの末日

A1には、年を設定します。「2024」としました。

A2には、月を設定します。「2」としました。

2024年2月は、うるう年なので29日まであります。


A5にSEQUENCE関数をつかって設定した数式は、

=SEQUENCE(DAY(DATE(A1,A2+1,0)))


これで、日にちが表示されます。


また、曜日も連動させたいので、

B5には、

=TEXT(DATE(A1,A2,A5#),"aaa")

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


これで、完成です。


SEQUENCEをつかうことで、末日問題から、少しは逃げることができるかもしれませんね。


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


=SEQUENCE(DAY(DATE(A1,A2+1,0)))

引数の、列に設定してあるのが、DAY関数をつかって、「日」を抽出しています。


それが、

DAY(DATE(A1,A2+1,0))


DATE関数をつかって日にちをつくるわけですが、「月」を「月+1」として「日」を「0」とすることで、前月の末日をつくることができます。


そして、算出した日付の日をDAY関数で、抽出することで、末日の数値を抽出することができるというわけです。


あとは、曜日の数式です。

=TEXT(DATE(A1,A2,A5#),"aaa")


なんで、A5を参照しないで、改めてDATE関数をつかって、日付をつくっているのかというと、SEQUENCE関数は、日付ではなくて、数値を算出しています。


そのため、新たに、DATE関数をつかって日付を作る必要があります。


また、算出された結果を、オートフィルで数式をコピーするよりも、スピル機能をつかって、自動的に末日と連動させたいので、

DATE(A1,A2,A5#)

の引数の「日」を「A5#」と設定します。


今回紹介したSEQUENCE関数をはじめ、新しく追加された関数を知ることで、今まで色々考えないといけなかった数式がシンプルにすることができるかもしれませんね。

8/17/2023

Excel。データ分析の回帰分析をつかえば残差まで手早く算出できます。【regression analysis】

Excel。データ分析の回帰分析をつかえば残差まで手早く算出できます。

<データ分析>

データ間の相関をはじめ、アドイン機能にある、データ分析の「回帰分析」をつかうことで、回帰式や残差までを手早く算出することができます。


用意したデータです。


B列の来店客数とC列の売上高のデータをつかって、データ分析「回帰分析」を行います。


データタブの「データ分析」をクリックします。


データ分析ダイアログボックスが表示されますので、「回帰分析」を選択して、OKボタンをクリックします。

データ分析の回帰分析

回帰分析ダイアログボックスが表示されますので、各種設定をしていきます。


入力Y範囲には、$B$1:$B$7

入力X範囲には、$C$1:$C$7

それぞれ、範囲選択します。


ラベルにチェックマークをいれて、オンにします。


出力先は、「新規ワークシート」を選びました。

出力されるデータ量があるので、新規ワークシートにしました。


残差も合わせて算出したいので、残差のチェックマークをオンしたら、OKボタンをクリックします。


これだけの処理で、

「回帰統計」

「分散分析表」


そして、「残差出力」も算出してくれます。


分析ツールには、色々用意されていますので、つかってみると、作業効率が改善するものが見つかるかもしれませんね。

8/16/2023

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

Excel。2023/6/4-6/10にYEAR関数など紹介したFacebookページのコメントです。

<Facebookページ>

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

Facebookページ

6月4日

Excel。

YEAR関数

読み方は、イヤーで、日付から年を算出します。



6月5日

Excel。

YEARFRAC関数

読み方は、イヤーフラクションで、2つの日付の間の期間を年数で算出します。



6月6日

Excel。

YEN関数

読み方は、エンで、数値を四捨五入して、円記号(¥)を付けた文字列に変換する



6月7日

Excel。

YIELD関数

読み方は、イールドで、定期利付債の利回りを算出します。



6月8日

Excel。

YIELDDISC関数

読み方は、イールドディスクで、割引債の年利回りを算出します。



6月9日

Excel。

YIELDMAT関数

読み方は、イールドマットで、満期利付債の利回りを算出します。



6月10日

Excel。

ZTEST関数

読み方は、ゼットテストで、Z検定の上側確率を算出します。


8/15/2023

Excel。検索文字を含むなら「○」という判定を手早く行うにはどうしたらいいの【contains characters】

Excel。検索文字を含むなら「○」という判定を手早く行うにはどうしたらいいの

<IFERROR+IF+SEARCH関数>

東京都の23区内なのかなど、セル内に該当する文字が含まれているのかを判定したい場合、単純にIF関数だけでは対応することができません。


次の表をつかって説明します。

IFERROR+IF+SEARCH関数

B列に住所が入力されています。

C列に23区内ならば、「○」を表示するとします。


C2に設定する数式は、

=IFERROR(IF(SEARCH("東京都*区",B2),"○",""),"")

として、オートフィルで数式をコピーすると、完成なのですが、IF関数以外にもIFERROR関数やSEARCH関数をつかっています。


なぜIF関数以外をつかっているのかというと、IF関数の論理式に「ワイルドカード」が使えないからです。


「東京都」という文字で始まり「区」を含んでいるのかを判断させる必要が生じます。


そこで、SEARCH関数をつかって、判断させます。


IF関数にSEARCH関数をネストした数式、

=IF(SEARCH("東京都*区",B2),"○","")


オートフィルで数式をコピーしてみると、合致しないセルに「#VALUE!」というエラーが表示されています。


SEARCH関数で困るのは、合致しない場合、「#VALUE!」というエラーを表示してしまうことなんです。


つまり、偽の場合の設定よりもエラーが強いので、偽の場合の表示設定を行ってくれません。


そのため、エラーをコントロールするIFERROR関数をつかって「#VALUE!」というエラーを表示しない作業をさせる必要があるわけです。


なお、IF関数は、偽の場合を設定しないとエラーになるので、「#VALUE!」と表示されます。
そのため、「””」を設定しておきます。


また、検索するSEARCH関数と同じようにFIND関数がありますが、FIND関数は、ワイルドカードをつかうことができませんので、SEARCH関数をつかう必要があります。

8/14/2023

Excel。ネイピア数のべき乗を算出するのがEXP関数です。【exponentiation】

Excel。ネイピア数のべき乗を算出するのがEXP関数です。

<EXP関数>

微分積分でお馴染みのネイピア数(自然対数の底e)のべき乗を算出することができるのが、EXP関数です。(EXP関数の読み方はエクスポーネンシャル)

EXP関数

B4には、

=EXP(A4)

とEXP関数をつかった数式を設定しました。


定数の通り、Expの引数が1のときに、戻り値が「e」になってることが確認できます。


なお、円周率のπ(パイ)と同じように割り切れないので、15桁までの表示です。

8/13/2023

Excel。ERFC.PRECISE関数は、相補誤差関数の積分値を算出します。【ERFC.PRECISE】

Excel。ERFC.PRECISE関数は、相補誤差関数の積分値を算出します。

<関数辞典:ERFC.PRECISE関数>

ERFC.PRECISE関数

読み方: イーアールエフシー・プリサイス

読み方: エラーファンクションシー・プリサイス

分類: エンジニアリング 

ERFC.PRECISE関数

ERFC.PRECISE(x)

相補誤差関数の積分値を算出する


8/12/2023

Excel。VBA。時・分から時間を作りたいときは、TimeSerial関数をつかいます【TimeSerial】

Excel。VBA。時・分から時間を作りたいときは、TimeSerial関数をつかいます

<Excel VBA: TimeSerial関数>

Excel VBAで、Excelの関数をつかってみると、希望通りに算出できないことがあります。


例えば、時間。

次の表をつかって、説明します。

TimeSerial関数

A列には、「時」。

B列には、「分」。

それぞれ入力されています。


C列に、時間を表示したいわけです。


Excelだと、TIME関数をつかえばいいわけですが、Excel VBAのTIME関数は、現在の時間を取得する処理をするために、時間をつくることはできません。


Excel VBAでは、TIME関数ではなくて、「TimeSerial関数」をつかわないと、算出することができません。


では、TimeSerial関数をつかって、プログラム文をつくってみます。


Sub 時間()

    Dim i As Long

    Dim 時 As Integer

    Dim 分 As Integer

    i = 2


    Do While Cells(i, "a") <> ""

        時 = Cells(i, "a")

        分 = Cells(i, "b")

        

        Cells(i, "c") = Format(TimeSerial(時, 分, 0), "h:mm")

        i = i + 1

    Loop

End Sub


これで、C列に時間を表示することができます。


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

まずは、お馴染みの宣言文ブロックです。

Dim i As Long

Dim 時 As Integer

Dim 分 As Integer


変数「i」に2を代入します。

i = 2


このあとの繰り返し処理でセル番地を回すのに「i」をつかっています。

また、「2」としているのは、A2からデータがスタートしているからです。


Do While Cells(i, "a") <> "" ~ Loop

A列が空白でない間繰り返すように命令しています。


時 = Cells(i, "a")

分 = Cells(i, "b")

「時」「分」にA列B列のデータをそれぞれ、代入します。


C列に時間を表示させる処理です。


Cells(i, "c") = Format(TimeSerial(時, 分, 0), "h:mm")


Format関数は、表示形式の関数です。「h:mm」と表示するようにしています。


なぜ、Format関数をつかっているのかというと、TimeSerial関数で算出した時間は「時:分 AM/PM」で表示されてしまうからです。


「h:mm」で今回は、表示したいと思ったので、Format関数をつかっただけです。

最後に、変数「i」を+1しないと、参照するセル番地を移動できません。

i = i + 1


これで、時間を作ることができました。

8/11/2023

Excel。相補誤差関数の積分値を算出するのが、ERFC関数です。【ERFC】

Excel。相補誤差関数の積分値を算出するのが、ERFC関数です。

<関数辞典:ERFC関数>

ERFC関数

読み方: イーアールエフシー

読み方: エラーファンクションシー

分類: エンジニアリング 

ERFC関数

ERFC(x)

相補誤差関数の積分値を算出します

8/10/2023

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

Excel。2023/5/28-6/3にWORKDAY関数など紹介したFacebookページのコメントです。

<Facebookページ>

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

Facebookページ

5月28日

Excel。

WEIBULL関数

読み方は、ワイブルで、ワイブル分布の累積確率か確率密度を算出します。



5月29日

Excel。

WEIBULL.DIST関数

読み方は、ワイブル・ディストで、ワイブル分布の累積確率か確率密度を算出します。



5月30日

Excel。

WORKDAY関数

読み方は、ワークデイで、稼働日数後の日付を算出します



5月31日

Excel。

WORKDAY.INTL関数

読み方は、ワークデイ・インターナショナルで、週末(曜日指定OK)と祝日を除いた日数後の日付を算出します。



6月1日

Excel。

XIRR関数

読み方は、エックスアイアールアールで、非定期キャッシュフローに対しる内部利益率を算出します。



6月2日

Excel。

XNPV関数

読み方は、エックスエヌピーヴイで、非定期キャッシュフローに対する正味現在価値を算出します。



6月3日

Excel。

XOR関数

読み方は、エクスクルーシブ・オアで、複数の条件で奇数の数を満たすかどうかを調べる

8/09/2023

Excel。氏名の総計をキューブ関数で算出するのがさっぱりわかりません。【CUBEMEMBER】

Excel。氏名の総計をキューブ関数で算出するのがさっぱりわかりません。

<CUBEMEMBER関数>

MOS(マイクロソフトオフィススペシャリスト)という試験があります。


MOS ExcelのExpertというレベルの試験の試験範囲に「CUBE関数シリーズ」が含まれています。

CUBEMEMBER関数

「CUBE関数」は日頃、ほぼ使わない関数ということもあり「さっぱりわかりません」と最初から捨ててしまう人も多くいるようです。


正直なところ、出題されないかもしれないし、出題されても多くはないだろうから、捨てて、それ以外の範囲の精度を上げたほうが、合格にはいいのかもしれません。


ただ、出題範囲のCUBE関数は、「カラクリ」や疑問が解消されてくると、それほど難しい数式ではないので、解答できるようになります。


今回は、簡単に解き方などをご紹介します。


FOM出版さんや日経BPさんの模擬問題で確認していただければと思いますが、FOM出版さんの模擬問題に、「氏名ごとの総計」を算出するのにキューブ関数をつかって算出してほしいというのがあります。


まずは、「カラクリ」というか、算出するシートは、すでに、数式の作り方の前に確認しておきたいことが「2つ」あります。


1つ目は、すでに「データモデル」が設定されている。

データモデルの話をするとここで終わってしまうので、ざっくりいうと、分析用のデータベースが用意されていますということです。


2つ目は、必要なところに、CUBEMEMBER関数をつかっている。

キューブ関数一つで、数式をつくろうとすると、引数が長くなりすぎるので、準備したセルがあります。


それが、C3の「総計」とB4の安川さん から B23の立川さん までです。

該当のセルをクリックすると数式を見ることができます。


例えば、模擬問題のシート:会員別のC3には、

=CUBEMEMBER("ThisWorkbookDataModel","[売上データ].[注文日 (月)].[All]","総計")

B4の安川さんには、

=CUBEMEMBER("ThisWorkbookDataModel","[会員].[氏名].&[安川 博美]")


というように事前に準備されてある状態のシートなんだということです。


要するにキューブ関数の問題は、算出するための数式を作るだけの状態になっているというわけです。


総計という集計値を算出したいので、キューブ関数の「CUBEVALUE関数」をつかいます。


模擬問題のC4の安川さんのセルには、

=CUBEVALUE("ThisWorkbookDataModel",B4,$C$3,"[Measures].[合計 / 売上価格]")

という数式を設定して、あとは、立川さんまで、オートフィルで数式をコピーします。


これで、完成という流れです。


模擬問題を丸々使うわけにはいきませんので、データが同じではありませんが、数式の作り方を説明していきます。


自分で、データをつくって、算出してみたい方は、下記の方法を参考にしてください。


あと、キューブ関数は、基本的に「手入力」でつくります。

ダイアログボックスだと、単語を覚えておかないといけないので、ちょっと、面倒です。


ブックの説明をしていきます。


担当データシートに、元になるデータがあります。


このデータから、ピボットテーブルをつくります。


その時に、「テーブルまたは範囲からのピボットテーブル」ダイアログボックスにある、「このデータをデータモデルに追加する」にチェックマークをいれると、データモデルをつくることができます。


これが、キューブ関数をつくるときに表示される「ThisWorkbookDataModel」というわけです。


模擬試験は、外部データなので、ピボットテーブルというわけではありませんので、ご注意ください。


氏名の総計を算出していきます。


総計を算出するためには、先ほど模擬問題で説明したように、C3とB4:B7に、CUBEMEMBER関数を設定しておく必要があります。


その後、C4をクリックします。


総計という値を算出したいので、キューブ関数の、「CUBEVALUE関数」をつかいます。


 

CUBEVALUE関数を選択したら、最初の引数を設定しますので、躊躇なく「”(ダブルコーテーション)」を入力します。


入力候補に、「ThisWorkbookDataModel」が表示されますので、選択します。


ThisWorkbookDataModelのあとに、「”(ダブルコーテーション)」を入力します。


2つ目の引数の「メンバー式1」を設定しますので、「,(カンマ)」を入力します。


メンバー式1とは何なのか。これは、B4に設定したCUBEMEMBER関数の数式のことです。


事前に準備してあるといったのは、本来B4に設定しなければ、2つ目の引数に、B4の数式を入力する必要があったわけです。


そうなると、数式が長くなりすぎて可読性が悪化することもあり、B4にCUBEMEMBER関数をつかって算出しておいたというわけです。


なので、メンバー式1には、「B4」と設定します。


3つ目の引数はメンバー式2なのですが、これも、メンバー式1と同じで、C3にCUBEMEMBER関数を設定してあります。

「C3」をつかいますが、オートフィルで数式をコピーするので、絶対参照が必要になりますので、「$C$3」と設定します。


最後4つ目の引数のメンバー式3をつくりますので、「,(カンマ)」を入力したら「”(ダブルコーテーション)」を入力します。

[Measures]を選択します。この[Measures]は、集計しろという意味です。


「.(ドット)」で区切って「[合計 / 金額]」と入力します。


「/(スラッシュ)」の前後を半角空白で空けるのかというと、ピボットテーブルの値のフィールド見出しを見れば、同じようにするんだなとわかるかと。


あとは、「”(ダブルコーテーション)」を入力して、メンバー式3を完成させたら、数式自体が完成なので、「)」で閉じます。


C4の数式は、

=CUBEVALUE("ThisWorkbookDataModel",B4,$C$3,"[Measures].[合計 / 金額]")


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

これで、該当するデータの集計を算出することができました。


ざっくりでしたが、キューブ関数の説明でした。

8/08/2023

Excel。Microsoft365 Insiderは、Officeのテーマの色が変わったので注意が必要です。【Insider】

Excel。Microsoft365 Insiderは、Officeのテーマの色が変わったので注意が必要です。

<Microsoft365 Insider:情報>

Microsoft Officeの365。

その365でも最新機能を使うことができるInsider版というのがあります。


テーマの色が変わってしまい、セルの塗りつぶしなどに影響があるかもしれませんので、ご紹介します。


まずは、今のMicrosoft365の塗りつぶしで表示されるカラーパレットです。

Microsoft365 Insider

右から2つ目は、「青」です。

では、Insider版ではどうなったのかというと、「プラム」に変わってしまいました。


色が違うだけと思うかもしれませんが、Excel VBAで塗りつぶしなどを設定しているなら、気を付けないと、色が変わってしまいます。


さらに、困ったことに、Insider版で保存したファイルを、通常のMicrosoft365で開くと、プラムではなく、ピンクと表示されます。


同じ色なのに、Insider版だと名前が違う。


原因は、テーマが新しくなったことにあるようです。

通常のMicrosoft365は、ページレイアウトタブのテーマをみると、「Office」だけしかありません。


これが、Insider版になると、「Officeのテーマ2013-2022」というのが新規で増設されてました。

これにより、今までのOfficeのテーマは、「Officeのテーマ2013-2022」に変わってしまったようです。


まだ、Insider版でのことですが、かなりの確立で、Microsoft365に反映されますので、現時点で情報としてご紹介させていただきました。