Excel。MUNIT関数は指定した次元の単位行列を算出します
<関数辞典:MUNIT関数>
MUNIT関数
読み方: エムユニット
読み方: マトリック ユニット
分類: 数学/三角
MUNIT(次元)
指定した次元の単位行列を算出する
Excel・Word・PowerPoint・Accessのテクニックや研修ネタ・テキストを紹介しております。主に、講義先や現場レベルで質問があったものを中心に書いております。
MUNIT関数
読み方: エムユニット
読み方: マトリック ユニット
分類: 数学/三角
MUNIT(次元)
指定した次元の単位行列を算出する
2行1組の連続した日付を入力したい場合、オートフィルだけでは、入力することができません。
では、どのようにしたら、手早く、2行1組の連続した日付を入力することができるのでしょうか。
名簿のファイルがあります。
ただ、1列何人のデータで移動したらいいのかを求める。
求めた後の移動もデータ量があれば、あるほど面倒になります。
何かいい方法は無いのでしょうか。
そこで、WRAPROWS関数をつかうことで、手早く対応することができます。
では、C2をクリックして、WRAPROWS関数をつかった数式を設定してみましょう。
=WRAPROWS(A2:A13,3,"---")
スピル機能に対応している関数なので、オートフィルで数式をコピーする必要はありません。
これで、1列の表を3列編成にすることができました。
引数を確認しておきましょう。
最初の引数は、vector。
ベクトルです。データの範囲なので、A2:A13と設定します。
2番目の引数は、wrap_count。
折り返し数です。
これは、何列で折り返すのかを設定します。
今回は3列での折り返しなので、「3」と設定します。
最後の引数は、pad_with。
代替値。
なかった場合、どのようにするのかということです。
ない場合は「---」と表示する様にしました。
ちょっとしたことですが、意外と便利な関数ですね。
MULTINOMIAL関数
読み方: マルチノミアル
分類: 数学/三角
MULTINOMIAL(数値1,[数値2],…)
多項係数を算出します 数値の和の階乗と数値の階乗の積との比
Facebookページに書いた、Excelの豆知識(Trivia)です。
5月18日
Excel。
F8
拡張選択モードを有効する
5月19日
Excel。
F9
ブックのすべてのワークシートを再計算する
5月20日
Excel。
F10
リボンにキーボード操作できるキーを表示
Altキーと同じ
5月21日
Excel。
F11
グラフを作成
5月22日
Excel。
F12
名前を付けて保存ダイアログボックスが表示されます
5月23日
Excel。
GROUPBY関数
読み方: グループバイ
分類: 検索/行列
GROUPBY(row_fields,values,function,[field_headers],[total_depth],[sort_order],[filter_array])
行の項目ごとに集計をします。
5月24日
Excel。
PERCENTOF関数
読み方: パーセントオブ
読み方: パーセントオフ
分類: 文字列操作
PERCENTOF(data_subset,data_all)
与えられたデータセットの割合を算出します。
次のような経過時間の表をつくってみたら、結果がおかしなことになっています。
B2には、3.5時間経過した時間が入力されています。
C2には、開始時間に経過時間を足した結果を表示したいので、
=A2+B2
という数式を設定したのですが、結果がおかしなことになっています。
またオートフィルで数式をコピーしたところ、C3も、おかしい結果になっています。
原因は、シリアル値という考え方が抜けていることです。
Excelでは、日付や時間をシリアル値という数値で管理しています。
C2をクリックして、数式タブにある、数式の検証をつかうとよくわかります。
Excelが1日を1としたシリアル値で管理しています。
10時というのは、1/24で1時間なので、1/24*10ということになります。
この値に、単純に3.5を足しても、13.5にはならないことがわかりました。
時間計算は、常にシリアル値を考えないといけないわけです。
つまり、経過時間を次のようにすれば、いいことがわかりました。
確かに、結果は求めることができました。
もし、当初のように、3.5としたままで、結果を求めるには、どのようにしたらいいのでしょうか。
TIME関数をつかって、時間に変更することで対応できます。
=A2+TIME(INT(B2),(B2-INT(B2))*60,0)
B2を数値から時間に変換するので、TIME関数をつかいます。
TIME関数は、時・分・秒という引数が用意されています。
時は、3.5の3なので、小数点を除いた値をつくりたい。
そこで、INT関数で整数化します。
分は、時と逆で、小数点を求めたいので、B2から整数の値を減算すれば、小数点以下を求めたいので、先程の時で求めた値であるINT(B2)をB2から減算すれば、小数点だけが残ります。
残った小数点に60を掛けます。
60かけるのは、分だからです。
最後の引数の秒は不要ですが、無いとエラーになるので、「0(ゼロ)」を設定します。
これで、経過時間を足した終了時間を求めることができます。
MROUND関数
読み方: エムラウンド
分類: 数学/三角
MROUND(数値,倍数)
指定した数値の倍数で四捨五入します
ドーナツグラフは、円グラフと同じように、手早く作ることができます。
では、二重ドーナツグラフは、どのようにしたらいいのでしょうか。
ポイントは、グラフを作るための表。
作り方を間違えると、ドーナツグラフの内円と外円が、思っているようにつくることができません。
そのポイントの説明。
そして、二重ドーナツグラフをつくっていきます。
遠投結果をAさんBさんの二人で、平均値を求めました。
あとから、B5とD5が実は「パス」していたので、「パス」と入力してみました。
先ほどまで、結果は同じだったのですが、トラブルが発生してしまいました。
平均は平均でも、選択した関数が異なっていたのが原因です。
それでは、数式を確認してみましょう。
B9の数式は、
=AVERAGEA(B3:B7)
よくみると、AVERAGE関数ではなくて、AVERAGEA関数です。
このAVERAGEA関数は、範囲内の文字を除くのではなく、「0(ゼロ)」として含めてしまった、平均を算出します。
D9の数式は、
=AVERAGE(D3:D7)
こちらは、お馴染みのAVERAGE関数です。
AVERAGE関数は、範囲選択内の文字は除外して、平均値を求める関数です。
「A」のあるなしで、結果が大きく異なってしまいました。
文字を含めた平均値を算出したいときには、AVERAGEA関数をつかいますが、通常の平均値は、AVERAGE関数でもとめます。
Facebookページに書いた、Excelの豆知識(Trivia)です。
5月11日
Excel。
F2
アクティブなセルを編集する
5月12日
Excel。
F3
[名前の 貼り付け ] ダイアログ ボックスを表示
5月13日
Excel。
F4
直前の動作を繰り返す
5月14日
Excel。
F4
数式作成時
絶対参照・複合参照を設定
5月15日
Excel。
F5
ジャンプダイアログボックスが表示されます
5月16日
Excel。
F6
シート見出しをアクティブにする
5月17日
Excel。
F7
スペルをチェックする。
年間売上がわかるように、集合縦棒グラフをつくってみたものの、わかりにくいので、四半期ごと背景であるプロットエリアを塗り分けたいと考えました。
そこで、グラフのもとになる表を修正します。
1500 という数値は、B列の販売金額の最大値より、ちょっと大きめの数値ということで1500を設定しました。
A1:C10を範囲選択して、ホームタブの「おすすめグラフ」をクリックします。
グラフの挿入ダイアログボックスが表示されます。
すべてのグラフタブにして、組み合わせを選択します。
そのため第2軸をつかいます。
第1軸のままを希望される場合は、グラフの元表のB列とC列をいれかえれば、大丈夫です。
そして、色分けを集合縦棒とします。
OKボタンをクリックします。
縦軸と第2縦軸の目盛を最小値0 最大値1500にします。
縦軸をクリックしたら、書式タブの選択対象の書式設定をクリックして、作業ウィンドウを表示します。
先程表示してあった作業ウィンドウを閉じてしまった場合には、再度選択対象の書式設定をクリックして、作業ウィンドウを表示します。
そうすれば、色分けできるという仕組みです。
凡例の「色分け」だけを選択して削除しておきましょう。
軸の書式設定のラベルにあるラベルの位置を「なし」に変更します。
MODE.SNGL関数
読み方: モード・シングル
分類: 統計
MODE.SNGL(数値1,[数値2],…)
最頻値を算出します
最新の納品日ってどう求めたらいい。
しかも、商品別…。
商品を仕入れたときなど、この商品はいったい、いつ納品したのか。
直近の納品日は、いつなのかを知りたいとき、
どのようにしたら、手早く求めることができるのでしょうか。
2列で1組になっている表があります。
わかりにくいので、次のように塗りつぶしをしたいのですが、どのようにしたら、手早く設定することができるのでしょうか。
このような場合、条件付き書式をつかうことで解決できます。
ただし、どのような条件式を設定したらいいのかが、ポイントになります。
そこで、列番号をつかうことで、対応することができます。
列番号を求めるのは、COLUMN関数です。
では、8行目にCOLUMN関数をつかって列番号を求めてみます。
=COLUMN()
オートフィルで数式をコピーしています。
これで、列番号を求めることができました。
求めた値を4で除算して、その余りを求めてみます。
余りを求めるのはMOD関数です。
9行目に
=MOD(B8,4)
というMOD関数の数式をつくり、オートフィルで数式をコピーしてみましょう。
これで、0,1,2,3 という余りを求めることができました。
よくみてみると、0,1 と 2,3 がペアになっていることがわかります。
MOD関数の値が2より小さければという条件にすることで、2列1組で塗りつぶすことができそうです。
改めて、B1:I6を範囲選択します。
ホームタブの条件付き書式にある、「新しいルール」をクリックします。
新しい書式ルールダイアログボックスが表示されます。
条件式のボックスには、
=mod(column(),4)<2
2より小さいとすることで、余りが0,1の組を対象として塗りつぶす条件式にしました。
あとは、書式ボタンをクリックして、塗りつぶしたい色を選択しましょう。
これで完成です。
MODE.MULT関数
読み方: モード・マルチ
分類: 統計
MODE.MULT(数値1,[数値2],…)
複数の最頻値を算出します
Facebookページに書いた、Excelの豆知識(Trivia)です。
5月4日
Excel。
Alt+Shift +↑
テキストボックス内:行を上に移動する
5月5日
Excel。
Alt+Shift +→
グループ化
5月6日
Excel。
Alt+Shift +→
テキストボックス内:インデント(字下げ)する
5月7日
Excel。
Alt+Shift +↓
テキストボックス内:行を下に移動する
5月8日
Excel。
Alt+Shift +←
グループ化を解除
5月9日
Excel。
Alt+Shift +←
テキストボックス内:インデント(字下げ)を解除する
5月10日
Excel。
F1
ヘルプを表示します。
Excelには、様々な関数が用意されていますが、苦手というか、出来ないものがあります。
その中の一つに、セルが塗りつぶしされている件数を求めるというのがあります。
次の表を用意しました。
よく、数値を入力したり、文字を入力したりして、入力した文字が非表示になるようにして、その文字を数えるという方法もありますが、今回は、全くの空白セルで、塗りつぶしだけされています。
Excelの関数にセルの塗りつぶしを数える関数は、現時点では、ありません。
この程度の量でしたら、視認することもできますが、量が増えたらお手上げです。
これは、Excel VBAで対応することにしました。
では、次のようなプログラム文をつくってみました。
Sub 色数える()
Dim iro As Long
Dim hani As Range
iro = 0
For Each hani In Range("b2:d5")
If hani.Interior.Color <> 16777215 Then
iro = iro + 1
End If
Next
Range("b7") = iro
End Sub
まずは実行してみます。
では、プログラム文を確認してみましょう。
For Each hani In Range("b2:d5")
If hani.Interior.Color <> 16777215 Then
iro = iro + 1
End If
Next
変数宣言ブロックはさておき、メインのところをみてみます。
For Each ~ Next文は、繰り返し処理をしています。
If hani.Interior.Color <> 16777215 Then
iro = iro + 1
End If
もし、範囲選択した箇所のセルの色(hani.Interior.Color)が、16777215 でなかったら(<>)
iroに+1します。
という意味です。
16777215の意味ですが、色は、RGBで設定されています。
最大値は白でFF FF FFという16進数で設定されています。
このFF FF FF を10進数に変換すると、16777215です。
つまり16777215は、白なので、白以外ならiroという変数を+1させています。
あとは、
Range("b7") = iro
と設定して、B7に結果を表示するようにしています。
これで、塗りつぶされているセルの件数を求めることができました。
ただし、このプログラム文は、セルが塗りつぶされているか、そうでないかの判断しかできません。
たとえば、赤色は何件で、緑色は何件というプログラム文ではありませんので、ご注意ください。