Excel。IMCOSH関数は、複素数の双曲線余弦を算出できます。
<関数辞典:IMCOSH関数>
IMCOSH関数
読み方: アイエムコサインハイパーポリック
読み方: イマジナリーハイパーポリックコサイン
分類: エンジニアリング
IMCOSH(複素数)
複素数の双曲線余弦を算出する
Excel・Word・PowerPoint・Accessのテクニックや研修ネタ・テキストを紹介しております。主に、講義先や現場レベルで質問があったものを中心に書いております。
IMCOSH関数
読み方: アイエムコサインハイパーポリック
読み方: イマジナリーハイパーポリックコサイン
分類: エンジニアリング
IMCOSH(複素数)
複素数の双曲線余弦を算出する
Y=2Xのようなグラフなど、交点ゼロから折れ線グラフを描く場合には、通常の折れ線グラフだと、うまく描くことができません。
次の表をつかって説明します。
オートフィルで数式をコピーしています。
では、A3:B13を範囲選択して、折れ線グラフを描いてみます。
挿入タブのグラフにある、「折れ線」を選択します。
原因は、XのA列のデータを
横軸として判断されず、データとして判断されてしまったので、プロットエリア内に折れ線グラフとして描かれてしまっています。
そのため、グラフのデザインタブの「データの選択」をつかって、修正する必要があります。
ただ、折れ線グラフのスタートが「0」から描かれていません。
データは、x=0 y=0 から始まっていますが、反映されていません。
さらに、グラフの修正が必要になります。
こうなると、グラフを作るのが、少し面倒になってきます。
そこで、折れ線グラフをつかって、描くのではなく、散布図をつかうことで、一発で交点ゼロから始まるグラフを描くことができます。
見出しを除いた、A4:D13を範囲選択します。
挿入タブのグラフにある「散布図(平滑線)」をクリックします。
先程の折れ線グラフのように、横軸がおかしいということもありません。
作業効率もUPする、知っていると便利なショートカットキー。
なお、Excelのバージョンによって多少変わります。
Shift+Space
行選択します。日本語入力がオフの時有効
Shift+Enter
セルの入力を完了し、1 つ上のセルを選択する。
Shift+Home
範囲選択を行の先頭まで拡張する
Shift+Insert
ペースト Ctrl + Vと同じ
Shift+Delete
切り取りする Ctrl+Xと同じ
Shift+PageUp
範囲選択を1画面分上に拡張する
Shift+PageDown
範囲選択を1画面分下に拡張する
Shift+BackSpace
範囲選択を解除する
文字を目立たしたいなら、太字や斜体などをつかうのもいいのですが、傍点(ぼうてん)をつかってみるのもいいかもしれませんね。
ところで、傍点(ぼうてん)とはなんなのか、どう設定するのかを紹介しております。
顧客名など、表示するのにあたり、個人情報保護から「*」をつかった伏字にしたい場合、Accessでは、どのようにしたらいいのでしょうか。
「*」の伏字の数をどのようにしたらいいのでしょうか。
「*」の数は、文字数から前後1文字分を減らした数です。
文字数を求めるにはLen関数をつかいます。
Left関数・Right関数・Len関数とここまではExcelと変わりません。
あとは、「*」に置換したいわけです。
ExcelのREPT関数は、Accessには、ありませんが、REPT関数と同じように、文字を指定した数だけ繰り返す、String関数をAccessでは使用します。
作成タブのクエリデザインをつかって、クエリをつくります。
伏字: Left([顧客名],1) & String(Len([顧客名])-2,"*") & Right([顧客名],1)
実行して確認します。
では、演算フィールドを確認しておきましょう。
Left関数とRight関数は、それぞれ、前後1文字ずつを抽出する関数です。
「&(アンパサンド)」をつかって、文字結合しています。
String(Len([顧客名])-2,"*")が、伏字に置換しているところです。
String関数の最初の引数は、「数」です。繰り返す”数”です。
そこで、Len関数をつかって、文字数を求めています。
そして、前後1文字分は除くので「-2」とします。
String関数の2つ目の引数は、「文字」です。繰り返しで表示する文字のことです。
このような演算フィールドをつくることで、前後1文字分を残した伏字をつくることができます。
IMCOS関数
読み方: アイエムコサイン
読み方: イマジナリーコサイン
分類: エンジニアリング
IMCOS(複素数)
複素数のコサインを算出する
Facebookページに書いた、Excelの豆知識(Trivia)です。
6月30日
Excel。
REPT関数
読み方: リピート
分類: 文字列操作
REPT(文字列,繰り返し回数)
文字列を指定回数だけ繰り返して表示する
7月1日
Excel。
RIGHT関数
読み方: ライト
分類: 文字列操作
RIGHT(文字列,[文字数])
文字列の右端から文字を取り出す
7月2日
Excel。
RIGHTB関数
読み方: ライトビー
分類: 文字列操作
RIGHTB(文字列,[バイト数])
文字列の右端から指定のバイト数を返す
7月3日
Excel。
ROMAN関数
読み方: ローマン
分類: 数学/三角
ROMAN(数値,[書式])
アラビア数字をローマ数字に変換します
7月4日
Excel。
ROUND関数
読み方: ラウンド
分類: 数学/三角
ROUND(数値,桁数)
指定桁数で四捨五入する
7月5日
Excel。
ROUNDDOWN関数
読み方: ラウンドダウン
分類: 数学/三角
ROUNDDOWN(数値,桁数)
指定桁数で切り捨てる
7月6日
Excel。
ROUNDUP関数
読み方: ラウンドアップ
分類: 数学/三角
ROUNDUP(数値,桁数)
指定桁数で切り上げる
前年度と今年度の差がどのぐらいなのか、わかりやすい資料をつくりたい。
条件によって行全体を塗りつぶしたいので、条件付き書式をつかいます。
では、条件式をどのようにしたらいいのでしょうか。
D列の差というのは、プラスであろうが、マイナスであろうが、前年度と今年度の値が離れているものなので、単純に減算した結果というわけにはいきません。
=D2-C2
の結果だけで、条件付き書式の条件式では、対応することができません。
プラスとマイナスに関係なく、数値としての差を条件にしたいので、絶対値をつかえばいいわけです。
絶対値を求めるには、ABS関数をつかえばいいわけです。
では、条件付き書式を設定していきます。
A2:D6を範囲選択します。
ホームタブの条件付き書式にある、新しいルール をクリックします。
条件式のボックスに
=max(abs($D$2:$D$6))=$D2
と数式を設定します。
あとは、書式ボタンをクリックして、塗りつぶしたい色を設定します。
これで、一番大きな差の行全体を塗りつぶすことができました。
=MAX(ABS($D$2:$D$6))=$D2
MAX関数は最大値を求める関数です。
MAX関数の引数にABS関数をつかっています。
このABS関数は、絶対値を求めることができる関数です。
ABS関数をつかって、D2:D6の絶対値を求めます。
MAX関数で絶対値にした、最大値を求めます。
その結果とD列のデータが合致していれば、差が一番大きいデータということがわかります。
また$D2と列固定の複合参照にすることで、行全体を塗りつぶしの対象にすることができます。
IMCONJUGATE関数
読み方: アイエムコンジュゲイト
読み方: イマジナリーコンジュゲイト
分類: エンジニアリング
IMCONJUGATE(複素数)
共益複素数を算出する
<Youtube>
数式を手早くコピーできるオートフィル。
残念ながら、万能ではありません。
固定しておきたい、参照先も、ズレてしまいます。
そこで、固定しておきたい参照先があるならば、「絶対参照」の出番ですね。
絶対参照は、Excelの機能としては、「基本」であり「重要」な機能の一つです。
データを読み込んだ後に、例えば1.5倍した数値を表示したい場合、データの回数、繰り返し処理をすることで、算出することができます。
ただ、繰り返し処理をしなくても、次のような方法をつかうことでも、対応することができます。
次の表を用意しました。
この値を1.5倍したものをB列に表示したい。
また、単純に1.5倍するのではなく、整数にしたい
このようなプログラム文をつくってみました。
Sub 金額を倍()
Dim lastrow As Long
lastrow = Cells(Rows.Count, "a").End(xlUp).Row
Range(Cells(2, "b"), Cells(lastrow, "b")) = "=int(a2*1.5)"
End Sub
では、実行してみます。
プログラム文を確認しておきます。
Dim lastrow As Long
lastrow = Cells(Rows.Count, "a").End(xlUp).Row
A列の最終行番号を取得する変数です。
Range(Cells(2, "b"), Cells(lastrow, "b")) = "=int(a2*1.5)"
Range(“B2:B9”)というのを、Range(Cells(2, "b"), Cells(lastrow, "b")) で対応しております。
そして、
=int(a2*1.5)
A2✕1.5した値を、INT関数をつかって、整数化しています。
何をやったのかというと、
範囲選択して、Ctrl + Enter をやったのと同じことをしております。
Ctrl + Enterをすると、範囲選択には、同じ数値や文字、あるいは数式を入力することができます。
こうすることで、繰り返し処理をしなくても、B列にA列の1.5倍した値を表示することができたというわけです。
Facebookページに書いた、Excelの豆知識(Trivia)です。
6月23日
Excel。
RANK.AVG関数
読み方: ランク・アベレージ
分類: 統計
RANK.AVG(数値,参照,[順序])
同順位を平均順位で算出する
6月24日
Excel。
RANK.EQ関数
読み方: ランク・イコール
分類: 統計
RANK.EQ(数値,参照,[順序])
数値の大小で順位を算出する
6月25日
Excel。
RATE関数
読み方: レート
分類: 財務
RATE(期間,定期支払額,現在価値,[将来価値],[支払期日],[推定値])
元利均等返済における利率を算出する
6月26日
Excel。
RECEIVED関数
読み方: レシーブド
分類: 財務
RECEIVED(受渡日,満期日,投資額,割引率,[基準])
割引債の償還価格を算出します
6月27日
Excel。
REDUCE関数
読み方: リディース
分類: 論理
REDUCE(initial_value,array,function)
LAMBDA関数を各値に適用し、アキュムレータの合計値を返すことによって、配列を累積値に減らします
6月28日
Excel。
REPLACE関数
読み方: リプレイス
分類: 文字列操作
REPLACE(文字列,開始位置,文字列,置換文字列)
指定した文字数の文字列を置換する
6月29日
Excel。
REPLACEB関数
読み方: リプレイズビー
分類: 文字列操作
REPLACEB(文字列,開始位置,バイト数,置換文字列)
指定した位置からバイト数分の文字列を置換する
IMARGUMENT関数
読み方: アイエムアーギュメント
読み方: イマジナリーアーギュメント
分類: エンジニアリング
IMARGUMENT(複素数)
複素数の偏角を算出する
AからEに分かれたランク一覧から、得点ごとのランクを表引きしたいのですが、
VLOOKUP関数でやってみたら、表引きすることができませんでした。
C2の数式は、
=VLOOKUP(B2,$E$2:$F$6,2,TRUE)
と設定しています。
検索値は、B2で、範囲は、E2:F6として絶対参照の設定もしている。
列番号もランクの2にしている。
そして、検索方法は、近似値のTRUE。
数式には問題はないのですが、表引きするためのE2:F6の表が問題なのです。
何が問題なのかというと、今回のような近似値でVLOOKUP関数を使いたい場合、表引きの範囲は、昇順で作らないといけません。
では、E列を昇順で並べ替えをしてみます。
表引きが出来たことが、確認できました。
このようにVLOOKUP関数をつかうと、確かに、表引きはできるのですが、範囲の表が昇順でなければいけないというのが、ネックです。
通常、このような表は、降順で作成します。
そこで、VLOOKUP関数でもいいのですが、XLOOKUP関数をつかってみるという方法があります。
C2にXLOOKUP関数をつかった数式を設定しました。
=XLOOKUP(B2,$E$2:$E$6,$F$2:$F$6,"",-1,1)
範囲が降順のままでも、ランクを表引きすることができました。
XLOOKUP関数の数式を確認しておきましょう。
最初の引数は、検索値です。 B2 を設定します。
2つ目の引数は、検索範囲です。
オートフィルで数式をコピーするので、$E$2:$E$6 と絶対参照を設定します。
3つ目の引数は、戻り範囲です。
ランクの列なので、$F$2:$F$6。
こちらもオートフィルで数式をコピーするので、絶対参照を設定します。
4つ目の引数は、見つからない場合です。
空白で表示したいので「””」と「””(ダブルコーテーション×2)」と設定します。
5つ目の引数は、一致モード。
今回は完全一致ではありません。
「-1」と設定します。
「-1」は完全一致または、次に小さい項目を表引きしてくれます。
内輪の数なので、小さい項目を選ぶ必要があります。
6つ目の引数は、検索モード。
「1」と設定します。
データの上部から下部へ検索させます。
あとは、オートフィルで数式をコピーします。
ただ、今回は、VLOOKUP関数との違いも含めて紹介しました。
そのため、オートフィルで数式をコピーするようにしましたが、XLOOKUP関数は、ネスト機能に対応していますので、範囲のところを絶対参照にしなくても、次のように数式を設定すれば大丈夫です。
IMAGINARY関数
読み方: イマジナリー
分類: エンジニアリング
IMAGINARY(複素数)
複素数の虚数係数を取り出す
SmartArtは「見える化」でよく使ったりします。
ただ、あまり使わないという人も多いようです。
でもよく見ると、歯車や湾曲した矢印など、ほかで使ってみたい図形がアチラコチラに。
そこで、SmartArtをあることすれば、バラして、部品として利用することができます。
その方法をご紹介しております。
VLOOKUP関数は、縦方向、垂直方向の表から表引きします。
HLOOKUP関数は、横方向、水平方向の表から表引きすることができます。
水平や垂直とかどちらにも対応してるのが、XLOOKUP関数です。
今回は、XLOOKUP関数でも表引きできますが、HLOOKUP関数の使い方を確認しておきましょう。
得点によって、ランキングを表引きする表です。
HLOOKUP関数の前に、準備するものがあります。
それが、A4:E5の表。
B4:E4は、左から右への昇順でなければなりません。
これで、0~29までがC。
30~49までB。
50~79までがAで、80以上がSと表引きができます。
では、B2に設定した数式を確認します。
=HLOOKUP(A2,B4:E5,2,TRUE)
最初の引数は、検索値で、A2。
2つ目の引数は、範囲で、B4:E5
3つ目の引数は、行番号で、2行目のデータを抽出しますので、2。
最後の引数は、近似値なので、1。完全一致ではありません。
すると、B2には、Sと表示されました。
検索する表が、横長。
水平方向の表ならば、HLOOKUP関数をつかうことで、表引きすることができます。
なお、XLOOKUP関数をつかった場合は、
=XLOOKUP(A2,B4:E4,B5:E5,"",-1,1)
という数式で、同じように表引きすることができます。
IMAGE関数
読み方: イメージ
分類: 検索/行列
IMAGE(ソース,[代替テキスト],[サイズ],[高さ],[幅])
ソースの場所からセルに画像を代替テキストとともに挿入できる。
ソースはhttpプロトコルを使用です。
Facebookページに書いた、Excelの豆知識(Trivia)です。
6月16日
Excel。
QUARTILE.INC関数
読み方: クォータイル・ インクルーシブ
読み方: クォータイル・ インクルード
分類: 統計
QUARTILE.INC(配列,戻り値)
0%以上100%以下のデータの四分位数を算出します
6月17日
Excel。
QUOTIENT関数
読み方: クオーシャント
分類: 数学/三角
QUOTIENT(分子,分母)
除算した商を算出します
6月18日
Excel。
RADIANS関数
読み方: ラジアン
分類: 数学/三角
RADIANS(角度)
角度をラジアンに変換する
6月19日
Excel。
RAND関数
読み方: ランド
読み方: ランダム
分類: 数学/三角
RAND()
0以上1未満の範囲で乱数を発生させる
6月20日
Excel。
RANDARRAY関数
読み方: ランドアレイ
読み方: ランダムアレイ
分類: 数学/三角
RANDARRAY([行],[列],[最小],[最大],[整数])
乱数の配列を返す
6月21日
Excel。
RANDBETWEEN関数
読み方: ランダム ビトウィーン
読み方: ランドビトウィーン
分類: 数学/三角
RANDBETWEEN(最小値,最大値)
指定した範囲で整数の乱数を発生させる
6月22日
Excel。
RANK関数
読み方: ランク
分類: 互換性
RANK(数値,参照,[順序])
数値の大小で順位を算出する
氏名からフリガナを抽出するには、PHONETIC関数をつかうわけですが、VLOOKUP関数で抽出した文字列からフリガナを抽出することはできません。
次の表を用意しました。
B2には、VLOOKUP関数をつかって、A4:C8の表から、氏名を抽出しています。
B2の数式は、
=VLOOKUP(A2,A5:C8,2,FALSE)
と設定しています。
さて、C2にB2の文字列のフリガナを表示したいので、
C2に、PHONETIC関数だけの数式を設定してみます。
結果は、何も表示されません。
PHONETIC関数は、文字列の入力時のデータを表示するだけの関数なので、VLOOKUP関数で表引きした結果からは、表示することはできないというわけです。
では、PHONETIC関数の引数にVLOOKUP関数を直接設定すればいいように思えます。
C2の数式を
=PHONETIC(VLOOKUP(A2,A5:C8,2,FALSE))
にしてみると、エラーが表示されてます。
そこで、以前ならば、INDEX関数とMATCH関数を組み合わせて対応したりしましたが、XLOOKUP関数をつかえば、解決します。
PHONETIC関数は、VLOOKUP関数とのネストはできないのですが、XLOOKUP関数とのネストはできるようになっています。
C2の数式をPHONETIC関数は、XLOOKUP関数とのネストで数式を設定してみます。
=PHONETIC(XLOOKUP(A2,A5:A8,B5:B8,"",0,1))
これで、C2にフリガナを表示することができました。
XLOOKUP関数の引数を確認しておきましょう。
最初の引数は、「検索値」。
VLOOKUP関数で表引きした結果が表示されている、A2を設定します。
2番目の引数は、「検索範囲」。
NOのA5:A8を設定します。
3番目の引数は、「戻り範囲」。
氏名のB5:B8を設定します。
4番目の引数は、「見つからなかった場合」。
見つからなかったら空白にしますので「””(ダブルコーテーション×2)」と設定します。
5番目の引数は、「一致モード」。
完全一致にしたいので、「0」と設定します。
最後の引数は、「検索モード」。
先頭から検索させますので「1」と設定します。
これで、VLOOKUP関数の表引き結果をつかったフリガナを表示することができました。
IMABS関数
読み方: アイエムアブス
読み方: イマジナリーアブソリュート
分類: エンジニアリング
IMABS(複素数)
複素数の絶対値を算出する
累計を算出したい場合、最初はセル参照。そのあとは、前の累計と新しいデータを合算する。
これでは、数式を2種類作らなければなりません。
そこで、SUM関数だけで累計を算出することができます。
その方法は、引数の始点を絶対参照にすることなんです。
Micorosoft365 Insider版 に新しく追加された「REGEXEXTRACT関数」をとりあえずつかってみました。
なんでも、指定された正規表現に基づいて文字列から文字列を抽出する関数だそうです。
引数は、
REGEXEXTRACT(text,pattern,[return_mode],[case_sensitivity])
次のようなデータを用意しました。
そこで、REGEXEXTRACT関数の登場というわけです。
では、C1にREGEXEXTRACT関数をつかって数式を設定します。
=REGEXEXTRACT(A2,"[A-z]+",1)
すると、英単語を抽出することができました。
数式は、スピル機能によって、オートフィルで数式をコピーする必要はありません。
引数の説明です。
最初の引数。「text」 文字列を選択しますので、A2
2番目の引数。「pattern」 抽出するパターンを記述する正規表現(regex)です。
正規表現パターンには、トークンと呼ばれるシンボルを使用します。
今回は、英単語だったので、
“[A-z]+”
と設定しました。
この意味は、1つ以上のA-zの範囲の文字 となります。
3番目の引数は、「return_mode」。
省略可能です。
1は、パターンに一致するすべての文字列を抽出します。
4番目の引数は、[case_sensitivity]。
省略可能です。
既定は0の「大文字と小文字の区別」をします。
アイディアによって、使えそうな関数ですが、2番目の引数のpattern の設定をどのようにしたらいいのかが、悩みどころかなと。
今回紹介した、REGEXEXTRACT関数以外にも、
REGEXTEST関数 とREGEXREPLACE関数も追加されました。
なお、Microsoft365 Insider版に追加された関数です。正規表現については、今後変更があるようです。
IFS関数
読み方: イフズ
読み方: イフエス
分類: 論理
IFS(論理式1,値が真の場合1,…)
1つまたは複数の条件で分岐して異なる計算結果を返す
Facebookページに書いた、Excelの豆知識(Trivia)です。
6月9日
Excel。
PRICEMAT関数
読み方: プライスマット
分類: 財務
PRICEMAT(受渡日,満期日,発行日,利率,利回り,[基準])
満期利付債の時価を算出します PRICE at MATurityの略
6月10日
Excel。
PROB関数
読み方: プロブ
読み方: プロバビリティ
分類: 統計
PROB(x範囲,確率範囲,下限,[上限])
範囲内の確率値を算出します
6月11日
Excel。
PRODUCT関数
読み方: プロダクト
分類: 数学/三角
PRODUCT(数値1,[数値2],…)
複数の数値の積を算出します
6月12日
Excel。
PROPER関数
読み方: プロパー
分類: 文字列操作
PROPER(文字列)
英単語の先頭文字を大文字にしてそれ以降を小文字に変換する
6月13日
Excel。
PV関数
読み方: ピーヴィ
読み方: プレゼントバリュー
分類: 財務
PV(利率,期間,定期支払額,[将来価値],[支払期日])
現在の価値を算出します
6月14日
Excel。
QUARTILE関数
読み方: クォータイル
分類: 互換性
QUARTILE(配列,戻り値)
0%以上100%以下の データの四分位数を算出します
6月15日
Excel。
QUARTILE.EXC関数
読み方: クォータイル・ エクスクルーシブ
読み方: クォータイル・ エクスクルード
分類: 統計
QUARTILE.EXC(配列,戻り値)
0%より大きくて100%未満のデータの四分位数を算出します
ある期間の売上データは参考にならないので、除外したデータを使いたい場合、どのようにしたらいいのでしょうか。
次のテーブルからクエリをつくっていきます。
ただし、やりたいことは、その逆。
期間以外を抽出したい場合です。
そのため、使用する演算子は、Not Between And演算子 です。
では、2020/4/1~2020/6/30を除いたクエリをつくります。
作成タブのクエリデザインから使用するテーブルのすべてのフィールドを設定します。
Not Between #2020/04/01# And #2020/06/30#
と設定します。
では、実行して確認してみます。
IFNA関数
読み方: イフエヌエー
分類: 論理
IFNA(値,NAの場合の値)
結果が#N/Aの場合は指定した値を返す
写真屋さんで、撮影した写真のデータは、履歴書の写真として使いたくても、履歴書の写真の大きさになっていないことが多いようです。
そこで、どうやったら、写真屋さんからもらってきた写真データを、手早く履歴書の写真としてサイズを調整することができるのでしょうか。
書類の提出状況の表があります。
今回やりたいことは、提出済み、すなわち日付ならば、そのデータ全体(行全体)を塗りつぶしたいわけです。
では、どのようにしたらいいのでしょうか。
条件がある塗りつぶしなので、条件付き書式をつかうと対応できます。
あとは、どのような条件式をつくればいいのかということです。
Excelには、日付かどうかを見分ける関数はありません。
ただ、日付はシリアル値という数値で管理されているので、日付というよりも数値というのが正しいのかもしれません。
どうやったら、文字と数値を区別することができるのでしょうか。
そこで、MAXA関数という関数をつかってみることにします。
D2の数式は、
=MAXA(C2)
あとは、オートフィルで数式をコピーします。
結果は、文字だと0で、日付だと数値(シリアル値)で表示されています。
MAXA関数は、MAX関数と同じように、引数内の範囲の中の最大値を算出する関数なのですが、それ以外に、文字の場合は、「0」と算出する関数なのです。
日付は、シリアル値なので、1からはじまります。文字は0です。
これを条件式にすれば、日付のデータがある行に対して塗りつぶしをすることができます。
D列は削除しておきます。
条件付き書式を設定しますので、A2:C6を範囲選択します。
ホームタブの条件付き書式にある、「新しいルール」をクリックします。
条件式を設定します。
条件式のボックスには、
=maxa($C2)>0
先程のMAXA関数をつかいます。範囲の$C2と複合参照にしています。
これは、行全体を塗りつぶしたいので、列固定の複合参照にします。
その値が、「>0」。ゼロより大きいかと判断させます。
文字ならば、0でした。
あとは、書式ボタンをクリックして、塗りつぶす色を設定します。