Excel。PRODUCT関数は複数の数値の積を算出します
<関数辞典:PRODUCT関数>
PRODUCT関数
読み方: プロダクト
分類: 数学/三角
PRODUCT(数値1,[数値2],…)
複数の数値の積を算出します
【Excel・Word・PowerPoint・Access】あなたの「困った」を解決!10年以上の経験が詰まった、現場の疑問から生まれた実践テクニック集。作業効率を劇的に上げるOffice活用術をお届けします。
PRODUCT関数
読み方: プロダクト
分類: 数学/三角
PRODUCT(数値1,[数値2],…)
複数の数値の積を算出します
講義に参加した人のリストがあります。
合計値を求めるには、条件がありますので、SUMIF関数をつかいます。
ただ、どのような条件を設定したらいいのでしょうか。
というのも、講義名が単純に「英会話」なれば、英会話という条件で合計値をもとめることはできますが、「英会話初級」もあれば、「実践英会話」という講座もあります。
要するに、英会話という文字が含まれているというのが条件なわけです。
このような場合には、ワイルドカードをつかった条件にする必要があります。
では、E1をクリックして、SUMIF関数をつかった数式を設定します。
確定すると、47と算出することができました。
引数を確認しておきましょう。
最初の引数は、「範囲」。
次の引数の検索条件が含まれている列なので、講義名のA2:A7
2つ目の引数は、「検索条件」。
ここが今回のポイントですね。
単純に「英会話」とはできません。
そこで、ワイルドカードで「*英会話*」とすることで、英会話を含むという条件にすることができます。
D1には、英会話という文字がありますので、D1をつかうとしたら、*D1*と入力すると、*D1*という文字列を条件としてしまうので、&(アンパサンド)をつかう必要があります。
よって、検索条件は「"*"&D1&"*"」とします。
3つ目の引数は、「合計範囲」。参加人数のB2:B7を設定します。
これで、求めることができました、なお、D1に英会話という文字列がなく、直接文字列を使いたい場合の数式は、次のようになります。
=SUMIF(A2:A7,"*"&"英会話"&"*",B2:B7)
作業効率もUPする、知っていると便利なショートカットキー。
Ctrl+'
セルの値と数式の表示を切り替える(シングルコーテーション)
Ctrl+~
表示形式を外します。[全般] 数値形式にします。(チルダ)
Ctrl+^
指数表示にする。(キャレット)
Ctrl+¥
選択した行内で、アクティブセルと合致しないセルを選択
Ctrl+|
選択した列内で、アクティブセルと合致しないセルを選択
PROB関数
読み方: プロブ
読み方: プロバビリティ
分類: 統計
PROB(x範囲,確率範囲,下限,[上限])
範囲内の確率値を算出します
チーム力や栄養素などでお馴染みの、レーダーチャート。
レーダーチャートやマーカー付きレーダーチャートに塗りつぶしレーダーチャートが、Excelには用意されています。
次の表からマーカー付きレーダーチャートをつくってみます。
これで、マーカー付きレーダーチャートを挿入することができました。
また、4月のラベルのフォントサイズも大きく調整しています。
グラフ自体は簡単につくれます。
同じように、塗りつぶしレーダーチャートも同じように簡単につくることはできます。
すなわち、マーカー付きと塗りつぶしレーダーチャートを組み合わせた「マーカー付き塗りつぶしレーダーチャート」は簡単につくることができません。
ではマーカー付き塗りつぶしレーダーチャートをつくることはできないのでしょうか。
そこで、今回は、塗りつぶしレーダーチャートにマーカーをつけた、「マーカー付き塗りつぶしレーダーチャート」をつくっていきます。
表を修正する必要があります。
販売金額を「マーカー付きレーダー」
ダミーを「塗りつぶしレーダー」にします。第2軸にしなくて大丈夫なので、チェックは外します。
OKボタンをクリックします。
マーカー付き塗りつぶしレーダーチャートが挿入できました。
あとは、塗りつぶしの色や、マーカーの大きさ。フォントサイズなどを綺麗にしたら完成です。
知っていると、便利なショートカットキー。
Excelには、いろいろなショートカットキーがあります。
今回は、ジャンプと範囲選択のショートカットキーを紹介しています。
ところで、
「Ctrl + .(ドット)」って知っていますか?
使えるシーンがあるかどうかは、わかりませんが…
PRICEMAT関数
読み方: プライスマット
分類: 財務
PRICEMAT(受渡日,満期日,発行日,利率,利回り,[基準])
満期利付債の時価を算出します PRICE at MATurityの略
日付から曜日を求める関数があります。
それがWEEKDAY関数です。
このWEEKDAY関数は、日とか月とかというような文字ではなくて、日曜日を1、月曜日を2というような数値で表示する関数です。
そこで、数値で表示されても、曜日名がわからないと何が何だかということになってしまうので、色々な関数と組み合わせます。
B2の数式は
WEEKDAY関数をつかった場合です。
=WEEKDAY(A2,1)
結果は、数値として表示されています。
これでは、何曜日か一目ではわかりません。
C2の数式は、
IF関数とWEEKDAY関数を使った場合です。
=IF(WEEKDAY(A2,1)=1,"日",IF(WEEKDAY(A2,1)=2,"月",IF(WEEKDAY(A2,1)=3,"火",IF(WEEKDAY(A2,1)=4,"水",IF(WEEKDAY(A2,1)=5,"木",IF(WEEKDAY(A2,1)=6,"金","土"))))))
とんでもなく、長い数式になっています。
これでは、可読性が悪いですし、ミスも起こりやすくなります。
それならば、IFS関数をつかってみたらどうなるのでしょうか。
D2の数式は、IFS関数とWEEKDAY関数をつかっています。
=IFS(WEEKDAY(A2,1)=1,"日",WEEKDAY(A2,1)=2,"月",WEEKDAY(A2,1)=3,"火",WEEKDAY(A2,1)=4,"水",WEEKDAY(A2,1)=5,"木",WEEKDAY(A2,1)=6,"金",TRUE,"土")
IF関数よりかは、IFS関数はIFの中にIF関数をいれていないので、可読性は改善されていますが、WEEKDAY関数が曜日ごとにでてきますので、作成時にミスを起こす可能性は高いかと思われます。
WEEKDAY関数を何度もつかうというのが、可読性が悪化する要因ならば、LET関数をつかったらどうなるのか、確認してみましょう。
LET関数とWEEKDAY関数を組み合わせたのが、E2の数式です。
=LET(yb,WEEKDAY(A2,1),IF(yb=1,"日",IF(yb=2,"月",IF(yb=3,"火",IF(yb=4,"水",IF(yb=5,"木",IF(yb=6,"金","土")))))))
だいぶ、改善されましたが、LET関数自体の馴染みがないので、理解する必要がありそうです。
なお、LET関数は、数式内で変数を定義し、その変数を繰り返し利用できる関数です。
これにより、同じ計算や値を何度も書く必要がなくなり、数式の可読性や効率が大幅に向上します。
LET関数の引数は、=LET(変数1, 値1, 変数2, 値2, ..., 計算式) となっており、最初に変数とその値を定義し、最後にその変数を用いた計算式を記述する関数です。
それならば、WEEKDAY関数が何度も出てこない関数はないものでしょうか。
F2には、SWITCH関数をつかってみました。
=SWITCH(WEEKDAY(A2,1),1,"日",2,"月",3,"火",4,"水",5,"木",6,"金",7,"土")
IF関数やIFS関数をつかうよりも、可読性もいいですし、数式自体もシンプルですね。
さらに、シンプルになるのが、G2のCHOSE関数を使った場合です。
=CHOOSE(WEEKDAY(A2,1),"日","月","火","水","木","金","土")
CHOOSE関数は、SWITCH関数とことなり、1ならばという設定をしなくても、自動的に1ならばという設定になっています。
これまでは、WEEKDAY関数をつかうと、数値が算出されて、曜日がわからないので、他の関数と組み合わせていましたが、一番効率がいいのは、TEXT関数だと思います。
H2の数式は、
=TEXT(A2,"aaa")
たったこれだけです。
TEXT関数は、表示形式を反映する関数です。
”aaa”とするだけで、日付を曜日に変更することができます。
関数の組み合わせによって、結果は同じですが、可読性・修正しやすい数式のほうがいいように思えますね。
Facebookページに書いた、Excelの豆知識(Trivia)です。
10月26日
Excel。
テーブルなどのデータベースで使用すると、列は、フィールドという表現にかわります。
10月27日
Excel。
テーブルなどのデータベースで使用すると、行は、レコードという表現にかわります。
10月28日
Excel。
並び替えのことをSORTといいますね。
10月29日
Excel。
並び替えは、昇順・降順という言い方で、処理をしますね。
10月30日
Excel。
並び替えの条件で、空白は、常に最後になるようになっていますね。
10月31日
Excel。
ショートカット。
PageUpキーを押すと、1画面単位で上に移動できますね。
11月1日
Excel。
ショートカット。
PageDownキーを押すと、1画面単位で下に移動できますね。
PRICEDISC関数
読み方: プライスディスク
分類: 財務
PRICEDISC(受渡日,満期日,割引率,償還価額,[基準])
割引債の額面100に対する価格を算出します
会議参加予定の空いている時間を見つけて、その日時で会議を開催したいと考えています。
下記のような予定になっています。
それぞれ時間ごとに、○✕で、時間が空いているかどうかの確認はできます。
ただし、この3名がすべて○になっている時間を見つけようとしたら、大変です。
今回は、紹介用なので、3名で3日間の4時間ですが、人数が多くなればなるほど大変な作業になることは間違いありません。
IF関数をつかってみるとしたら、それも大変です。Aさんの10時は○かどうかを判断して、さらにBさんCさんの10時というような数式をつくるとしたら、面倒でしかありませんし、何より非効率です。
そこで、文字結合のCONCAT関数をつかうことで、簡潔に解決することができます。
では、B2をクリックして、CONCAT関数をつかった数式をつくります。
=IF(CONCAT(B8,B14,B20)=REPT("○",3),"OK","")
あとは、オートフィルで数式をコピーします。
これで、この3名が空いている時間は、
12月1日の10時と11時
12月2日の14時
ということがわかりました。
では、数式を確認しておきましょう。
全員空いているならば、OKと表示したかったので、IF関数をつかっております。
IF関数の論理式ですが、
3名の12月1日10時を確認したい。
そこで、CONCAT関数をつかって文字結合します。
CONCAT(B8,B14,B20)
こうすることで、○○○ のように文字結合することができます。
この結果が、○○○ と等しいかという論理式をつくるわけです。
今回は、3名なので、次のように数式をつくってもよかったのですが、
=IF(CONCAT(B8,B14,B20)=”○○○","OK","")
人数が多くなると、○の数が多くしなければなりません。
仮に、10名だと○が10個。
入力するのも大変ですが、ミスが発生しやすくなります。
そこで、文字を繰り返す関数のREPT関数をつかって、○を入力する作業を簡素化します。
REPT("○",3)
とすることで、○を3回繰り返すので、○○○という文字をつくることができます。
このように、CONCAT関数、さらにREPT関数をつかうことで、空いている時間を手早く見つけることができます。
作業効率もUPする、知っていると便利なショートカットキー。
Ctrl+!
マイナスの数値を赤色にしない表示形式にする
Ctrl+"
アクティブなセルの 1 つ上のセルの値をコピーします。
Ctrl+#
日付形式を設定する
Ctrl+$
通貨スタイル (¥)を設定する
Ctrl+%
セルの値を % 表示にする
Wordで、半角数値を全角に・全角数値を半角に置換するには、どうやったらいいでしょうか。
置換で処理すればいいだけでしょう。
とか、
文書校正で、"ゆらぎ"で対応すればいいのではと思うかもしれませんが、ちょっと、厄介なんです。
そこで、どのようにしたらいいのかを、ご紹介しております。
入力ミスをしていれば、データとしては一大事ですね。
そこで、入力してある文字が合致しているかどうか判断したい。
そんなときには、StrComp関数をつかうことで、対応することができます。
今回紹介する、StrComp関数は、Excelには実装されていません。
用意したテーブルです。
このサンプルAとサンプルBを比べたいわけです。
クエリをつくります。
作成タブのクエリデザインをつかいます。
という演算フィールドを設定します。
実行して確認してみましょう。
判定が0ならば、合致しています。
ただ、これでは、わかりにくいので、IIF関数で合致・不一致と表示するにようにします。
と演算フィールドをつくってみましょう。
では、実行してみましょう。
これで、一致しているか、よりわかりやすくすることができました。
PRICE関数
読み方: プライス
分類: 財務
PRICE(受渡日,満期日,利率,利回り,償還価額,頻度,[基準])
定期利付債の時価を算出する
Facebookページに書いた、Excelの豆知識(Trivia)です。
10月19日
Excel。
入力規則は、設定したいところを先に範囲選択して一括で設定する方が楽ですよね。
10月20日
Excel。
関数。
関数の引数=()の中に、関数を使うことをネストといいますね。
10月21日
Excel。
オートSUMボタンの必殺技!3-D集計は知っていると便利ですが、手順がややこしいですね。
10月22日
Excel。
3-D集計は、合計だけじゃなくて、SUM関数・AVERAGE関数・COUNT関数・COUNTA関数・MAX関数・MIN関数の6種類で計算できるんですよ。
10月23日
Excel。
データベースとしてExcelを使う場合には、空白行と空白列に囲まれたデータの塊を、ひとつのデータベースとして使用することができます。
10月24日
Excel。
データベースで使用するときには、必ず、見出し行を作る必要がありますね。
10月25日
Excel。
テーブルなどのデータベースで使用すると、列名は、フィールド名という表現にかわります。
集合縦棒グラフをつくるだけではなく、平均値がどこなのかわかるように平均線もくわえたグラフを描きたい。
1つ目は、平均値が変われば、自動的に平均線も変わるようにしたい。
つまり、図形の直線ではダメということです。
2つ目は、横軸と同じように、端から端まで描かれた平均線であること。
隙間が空いていると、縦軸の目盛をみてもわかりにくいからです。
次の表をつかって、グラフをつくることにします。
C2の数式は、
=AVERAGE($B$2:$B$6)
B2:B6を絶対参照で固定させています。
A1:C6を範囲選択します。
グラフの挿入ダイアログボックスが表示されます。
サンプルをみると、平均線は、折れ線で描かれています。
1つ目の希望の平均値のC列が変動すれば、自動的に平均線も移動します。
このままOKボタンをクリックしたいところなのですが、2つ目の希望が叶っていません。
平均線の左右に余白があります。この平均線を伸ばす必要があります。
そのため、平均線は、第2軸にする必要があります。
グラフタイトルは、グラフを大きく見せたいので、削除しております。
またサイズも少し大きくしております。
左側の第1縦軸の上限が1400なので、右側の第2縦軸の上限を変更します。
続いて、2つ目の希望である、平均線の左右の余白の対応をします。
第2横軸を表示する必要があります。
作業ウィンドウは、軸の書式設定ですが、第2横軸の軸の書式設定にかわっています。
軸位置 は 「目盛」を オン にします。
目盛の「目盛の種類」を なし にします。
ラベルの「ラベルの位置」も なし にします。
グラフはこのようになりました。
グラフの見栄えの作業です。
平均線を太くする。
第2縦軸は不要なので、削除する。
全体的にフォントサイズが小さいので、縦軸・横軸のフォントサイズを修正しましょう。
PPMT関数
読み方: ピーピーエムティー
読み方: プリンシプルペイメント
分類: 財務
PPMT(利率,期,期間,現在価値,[将来価値],[支払期日])
元利均等返済における指定期間の元金返済額を算出する
小学校でお馴染みの九九の表をExcelでつくってみました。
最近追加された、スピル機能をつかってつくってみる。
いままでどおり、複合参照でつくってみる。
どちらの作り方を紹介しております。
スピル機能なら、アッサリ。簡単
複合参照なら、Excelのスキルアップにつながります。
フォルダ内にあるファイル名の一覧を書き出したいのですが、ファイル名をコピーして抽出するとなると大変。
簡単な作業ですが、ファイル数が多いとなると、とても面倒です。
そこで、Excel VBAでプログラムをつくって対応することにしました。
今回は、デスクトップに練習フォルダを用意して、その中にファイルがある前提とします。
作成したプログラムです。
Sub ファイル名一覧取得()
Dim フォルダパス As String
Dim ファイル名 As String
Dim 行番号 As Long
フォルダパス = Environ("USERPROFILE") & "\Desktop\練習\"
ファイル名 = Dir(フォルダパス & "*.*")
行番号 = 1
Do While ファイル名 <> ""
Cells(行番号, 1).Value = ファイル名
行番号 = 行番号 + 1
ファイル名 = Dir
Loop
End Sub
では、実行してみましょう。
プログラムの説明をします。
最初は、変数宣言です。
Dim フォルダパス As String
フォルダの場所を入れる「フォルダパス」という変数を用意します。
Dim ファイル名 As String
ファイル名を入れる「ファイル名」という変数を用意します。
Dim 行番号 As Long
Excelの何行目に書き込むのかという「行番号」という変数を用意します。
フォルダパス = Environ("USERPROFILE") & "\Desktop\練習\"
フォルダの場所を指定します。今回は、ユーザーのデスクトップにある「練習」フォルダとしています。
ファイル名 = Dir(フォルダパス & "*.*")
最初のファイル名を取得します。(*.* はすべてのファイルを対象)
行番号 = 1
Excelの1行目から書き始める
ここから繰り返し処理をします。
Do While ファイル名 <> ""
ファイルが見つかる限り、繰り返し処理をします。
Do While <>””~Loop は、なくなるまで繰り返すという意味です
Cells(行番号, 1).Value = ファイル名
ファイル名をExcelのA列に書き込みます。
行番号 = 行番号 + 1
次の行に移動して書き込む必要がありますので、行番号に+1します
ファイル名 = Dir
次のファイル名を取得します。
Loop
繰り返しのLoopです。
このようなプログラム文だけでも、フォルダ内のファイル名一覧をつくることができます。コピペを繰り返すよりも、楽で時短かなと思います。
Facebookページに書いた、Excelの豆知識(Trivia)です。
10月12日
Excel。If関数でよく使う、比較演算子。
>=は、以上。という意味ですね。
10月13日
Excel。If関数でよく使う、比較演算子。
<=は、以下。という意味ですね。
10月14日
Excel。If関数でよく使う、比較演算子。
>=は、>を先に=を後に入力します。
≧は、先に>を書きますので、その手順に基づきますね。
10月15日
Excel。If関数でよく使う、比較演算子。
<=は、<を先に=を後に入力します。
≦は、先に<を書きますので、その手順に基づきますね。
10月16日
Excel。
入力規則。
エラーメッセージ。
停止は、規則に合致しないデータの入力は許可されませんね。
10月17日
Excel。
入力規則。
エラーメッセージ。
情報は、エラーメッセージの"はい"をクリックすると、許可されて無効なデータでも入力することができますね。
10月18日
Excel。
入力規則。
エラーメッセージ。
情報は、エラーメッセージの"OK"をクリックすると、無効なデータでも入力することができますね。
関東と関西の店舗の売上表があります。
普通ならば、A4:B7を範囲選択して、G4を起点にコピー&ペースト。
そのあとに、D4:E6を範囲選択して、関東のデータの下にコピー&ペーストするわけです。
単純作業ですが、意外と面等な作業です。
今回は2つの表ですが、もっと多くの表を一つに結合したい場合には、とても面倒な作業といえます。
そこで、VSTACK関数をつかうと作業効率が改善されると思われます。
G4をクリックして、VSTACK関数の数式を設定します。
数式を確定すると、関東と関西の表が結合しました
引数は、範囲選択をするだけです。
また、元の表をテーブルにすることで、もっと便利です。
関東と関西の表はテーブルにしております。テーブル名は、それぞれ、関東と関西
=VSTACK(関東,関西)
関東のデータを1件追加してみます。
このように複数の表をひとつにまとめるときには、VSTACK関数をつかってみるという方法も有効かと思います。