Excel。IMSIN関数は、複素数のサイン(正弦)を算出します。
<関数辞典:IMSIN関数>
IMSIN関数
読み方: アイエムサイン
読み方: イマジナリーサイン
分類: エンジニアリング
IMSIN(複素数)
複素数のサイン(正弦)を算出する
Excel・Word・PowerPoint・Accessのテクニックや研修ネタ・テキストを紹介しております。主に、講義先や現場レベルで質問があったものを中心に書いております。
IMSIN関数
読み方: アイエムサイン
読み方: イマジナリーサイン
分類: エンジニアリング
IMSIN(複素数)
複素数のサイン(正弦)を算出する
Wordで、フリガナ(ルビ)を設定すると、なんと勝手に、行の高さ(行間)が広がってしまいます。
どのようにしたら、元の行間に戻すことができるのでしょうか。
ところで、そもそも、元の行の高さは、どこで確認したらいいの?など、対応方法をご紹介しております。
順位を求めるRANK.EQ関数ですが、スピル機能をつかった数式にすると、とてもわかりやすい数式になるので確認してみましょう。
まずは、通常のRANK.EQ関数の数式でつくってみましょう。
B列には、売上高が入力されています。
C2の数式は、
=RANK.EQ(B2,$B$2:$B$8)
最初の引数は、数値です。
秋葉原店の売上高が、全体で何位なのかということを知りたいわけですから、B2を設定します。
次の引数は、参照です。
範囲ですので、B2:B8。
オートフィルで数式をコピーしますので、絶対参照も忘れずに、設定する必要があります。
この絶対参照を忘れやすいので、注意が必要ですね。
さて、スピル機能の数式にしたら、どのようになるのでしょうか。
D2にスピル機能に対応したRANK.EQ関数を作ってみます。
=RANK.EQ(B2:B8,B2:B8)
最初の引数も、次の引数も、両方とも、B2:B8 と設定すれば大丈夫なんです。
しかも、スピル機能によって、オートフィルで数式をコピーすることはありませんので、絶対参照にする必要もありません。
このように、とてもわかりやすい数式に変えることができました。
今まで使っていた関数もスピル機能によって、数式の可読性をはじめ改善できるものがあるかもしれません。
IMSECH関数
読み方: アイエムセカントハイパーポリック
読み方: イマジナリーハイパーポリックセカント
分類: エンジニアリング
IMSECH(複素数)
複素数の双曲線正割を算出する
Facebookページに書いた、Excelの豆知識(Trivia)です。
8月25日
Excel。
TAN関数
読み方: タンジェント
分類: 数学/三角
TAN(数値)
角度の正接(タンジェント)算出します
8月26日
Excel。
TANH関数
読み方: ハイパーポリック タンジェント
分類: 数学/三角
TANH(数値)
数値の双曲線正接を算出します
8月27日
Excel。
TBILLEQ関数
読み方: ティービルイーキュー
分類: 財務
TBILLEQ(受渡日,満期日,割引率)
米国財務省短期証券の債権に相当する利回りを算出します
8月28日
Excel。
TBILLPRICE関数
読み方: ティービルプライス
分類: 財務
TBILLPRICE(受渡日,満期日,割引率)
米国財務省短期証券の額面100ドル当たりの価格を算出します
8月29日
Excel。
TBILLYIELD関数
読み方: ティービルイールド
分類: 財務
TBILLYIELD(受渡日,満期日,現在価値)
米国財務省短期証券の利回りを算出します
8月30日
Excel。
TDIST関数
読み方: ティーディスト
読み方: ティーディストリビューション
分類: 互換性
TDIST(x,自由度,分布の指定)
t分布の右側確率か両側確率を算出します
8月31日
Excel。
T.DIST関数
読み方: ティー・ディスト
読み方: ティー・ディストリビューション
分類: 統計
T.DIST(x,自由度,関数形式)
t分布の左側(下側)累積確率か確率密度を算出します
カタカナで入力されている文字列を、ひらがなに変更したい場合にはどのようにしたらいいのでしょうか。
Excelには、カタカナをひらがなに変更する関数は、残念ながらありません。
ということは、努力と根性で、ひらがなで入力し直さないといけないのでしょうか。
そこで、少々、力技ではありますが、ルビ(ふりがな)の関数。PHONETIC関数をつかうことで、対応することができます。
C2にPHONETIC関数の数式を設定します。
=PHONETIC(B2)
オートフィルで数式をコピーします。
ただ、現状全角カタカナです。
表示したいのは、ひらがな。
そこで、B2:B6を範囲選択します。
ホームタブの「ふりがなの表示/非表示」の▼をクリックして、「ふりがなの設定」をクリックします。
ただし、この方法、問題があって、B列の文字列にフリガナ情報がないと、PHONETIC関数をつかっても、フリガナが表示されませんので、注意が必要です。
IMSEC関数
読み方: アイエムセカント
読み方: イマジナリーセカント
分類: エンジニアリング
IMSEC(複素数)
複素数のセカント(正割)を算出する
Excel関数は色々あります。
ローマ数字にすることができるROMAN関数とアラビア数字にすることができるARABIC関数を紹介しております。
とてもわかりやすい関数ですが、VALUE!というエラーを表示してしまうので、注意が必要なんです。
判定に使う日付をセルに入力している場合には、いいのですが、直接日付を引数に入力した場合、きちんと算出してくれないことがあります。
次の表を用意しました。
C列には、2024/10/31以前ならば、○。
それ以降ならば、×と算出したいと考えています。
そこで、IF関数をつかって、C2に数式をつくります。
=IF(B2<=2024/10/31,"○","×")
オートフィルで数式をコピーします。
C2の数式を確認するために、数式タブの「数式の検証」を行ってみると原因がわかります。
つまり、B列の日付がシリアル値という数値で、C列は「/」を割り算と勘違いして、除算した結果の数値と比べているために、結果がおかしくなっています。
日付として扱ってくれていないわけです。
だったら、”2024/10/31”と「”(ダブルコーテーション)」で日付を囲ってみたらどうなるのでしょうか。
これは、”2024/10/31”が日付ではなくて、文字列として判断されています。
そのため、シリアル値という数値と文字を比べていますので、当然、シリアル値である日付のほうが小さくなります。
よって、結果は「○」となってしまったというわけです。
紹介した両方とも、「日付」として扱ってくれていません。
Excelには日付はシリアル値という数値です。
日付型ではありません。
そこで、日付型というか、日付とExcelにわからせる必要があります。
そこで、DATEVALUE関数をつかって、数式を修正します。
DATEVALUE関数は、日付文字列にしてくれる関数です。文字列を日付扱いにしてくれます。
これで、きちんと算出してくれました。
このように、日付を直接入力して使う場合には、日付文字列にする必要がある場合、DATEVALUE関数を組み合わせることで対応することができます。
IMREAL関数
読み方: アイエムリアル
読み方: イマジナリーリアル
分類: エンジニアリング
IMREAL(複素数)
複素数の実数部分を取り出す
セルの中に、「横棒グラフ」を表示する。
条件付き書式の「データバー」。
列内の数値の強弱を把握するのに便利なのですが、ハッキリいって、データバーの上に数値があると、読みにくい。
そこで、数値を非表示にしたいわけですね。
では、どのようにしたら、非表示にすることができるのでしょうか。
今回は、その方法をご紹介しております。
データが全体のA~Cのどこにあるのかがわかる、ABC分析。
C2の構成比は、B9のSUM関数で算出した、売上高合計をつかって、算出しています。
=B2/$B$9
B9の合計は、オートフィルで数式をコピーしますので、絶対参照を忘れずに設定します。
パーセント表示にして小数第一位まで表示することにします。
オートフィルで数式をコピーします。
D2の累計構成比は、C列に算出した構成比の累計値です。
D2の数式は、
=SUM($C$2:C2)
始点を絶対参照にして、終点は、そのまま相対参照のままにします。
これで累計が算出できます。オートフィルで数式をコピーします
E列のABCですが、今回は、累計構成比の70%以下がA。
90%以下がB。
それ以外がCとします。
それを踏まえて、E2の数式は、
=IFS(D2<=70%,"A",D2<=90%,"B",TRUE,"C")
IFS関数をつかっていますが、IF+IF関数のネストでもOKです。
この数式も、オートフィルで数式をコピーします。
これで、どの店舗の売上高が、ABCのどのカテゴリーにあるのかが、確認できました。
このデータを元に、パレート図をつくります。
A1:B8とD1:D8を範囲選択します。
挿入タブの「統計グラフの挿入」のヒストグラムにパレート図があります。
ただ、できれば、A・B・Cなのかがわかりにくいので、色分けをしたいのですが、色分けをするには、棒グラフを一つずつ選択して、色を変える必要があります。
今回のデータは、少ないので、対応できる数かもしれません。
しかし、本来は、Cランクのデータは非常に多いので、自力で、棒グラフを選択して、色を変更するというのは、ほぼ無理といえます。
グラフ専用のアプリなどでは出来るようですが、Excelでは出来ないのでしょうか。
そこで、自動的にA・B・Cで色分けできるパレート図を紹介いたします。
Excelのグラフは、そのグラフを作るための表が必要になりますので、次のように表を修正します。
F2に設定した数式は、
=IF(E2="A",B2,0)
G2の数式は、
=IF(E2="B",B2,0)
H2の数式は、
=IF(E2="C",B2,0)
すべて、オートフィルで数式をコピーします。
追加した3列は、色分けするための列です。
ランクAならば、売上高をそのまま転記します。それ以外ならば0とします。
これを、ランクB・ランクCとつくります。
この追加した列をつかって、改めてパレート図をつくります。
挿入タブのおすすめグラフをクリックします。
グラフの挿入ダイアログボックスが表示されます。
すべてのグラフタブの「組み合わせ」をクリックします。
累計構成比は、第2軸にチェックマークをいれて、折れ線グラフに変更します。
A・B・Cはすべて、積み上げ縦棒グラフに変更します。
そして、OKボタンをクリックします。
なぜ、棒グラフを、積み上げ縦棒にしたのかというと、棒グラフの太さを変更したい場合、積み上げ縦棒グラフにしておかないと、太さを変更することができないからです。
0という数字があるので、描かれていませんが、その0の縦棒グラフも太くなるのが原因です。
では、棒グラフを太くするのと、折れ線グラフの第2軸縦軸の上限を100%に変更していきます。
縦棒グラフを選択して、書式タブの「選択対象の書式設定」をクリックします。
データ系列の書式設定作業ウィンドウが表示されますので、系列のオプションにある「要素の間隔」を0にします。
作業ウィンドウが、軸の書式設定にかわります。
これで、100%までの縦軸にすることができます。
あとは、フォントサイズなどを整えたら完成です。
DETECTLANGUAGE関数
読み方: ディテクトランゲージ
分類: 文字列操作
DETECTLANGUAGE(text)
指定したテキストの言語を検出し、言語コードを返します
DETECT LANGUAGE の略
Facebookページに書いた、Excelの豆知識(Trivia)です。
8月18日
Excel。
SUMSQ関数
読み方: サムスクウェア
分類: 数学/三角
SUMSQ(数値1,[数値2],…)
数値の2乗の合計を算出します
8月19日
Excel。
SUMX2MY2関数
読み方: サム オブ エックススクエアエド マイナス ワイ スクエアエド
読み方: サムエックスジジョウマイナスワイジジョウ
分類: 数学/三角
SUMX2MY2(配列1,配列2)
Σ(x^2-Y^2)。対応する組の要素の平方差の合計します
8月20日
Excel。
SUMX2PY2関数
読み方: サム オブ エックス スクエアエド プラスワイ スクエアエド
読み方: サムエックスジジョウプラスワイジジョウ
分類: 数学/三角
SUMX2PY2(配列1,配列2)
Σ(x^2+Y^2)。対応する組の要素の平方和の合計します
8月21日
Excel。
SUMXMY2関数
読み方: サム オブ エックス マイナス ワイ スクエアエド
読み方: サムエックスマイナスワイジジョウ
分類: 数学/三角
SUMXMY2(配列1,配列2)
Σ(x-Y)^2。 対応する組の要素の差を2乗して合計します
8月22日
Excel。
SWITCH関数
読み方: スイッチ
分類: 論理
SWITCH(式,値1,結果1,[既定または値2,結果2],…)
式で指定した値を比較して最初に一致する値を返す
8月23日
Excel。
SYD関数
読み方: エスワイディー
読み方: サムオブイヤーズディジット
分類: 財務
SYD(取得価額,残存価額,耐用年数,期)
減価償却費を算術級数法で算出します(日本では利用が認められてない)
Sum of Year's Digit depreciationの略
8月24日
Excel。
T関数
読み方: ティー
分類: 文字列操作
T(値)
文字列を抽出する
入会日から何年所属しているのかを確認したいわけですが、ExcelのDATEDIF関数のようなDATEDIFF関数というのがAccessにもあります。
ただ、ExcelのようにDATEDIFF関数を使うだけでは、満年齢を算出するのが難しいようです。
次のテーブルがあります。
作成タブのクエリデザインをクリックします。
年数: DateDiff("yyyy",[入会日],#2024/02/01#)
ExcelはDATEDIF関数ですが、AccessではDateDiff関数を使います。
引数は、満年齢で表示したいので「”yyyy”」。
開始日は「入会日フィールド」をつかいます。
終了日は「#2024/2/1#」までとします。
日付は「#」で囲みます。
では、クエリを実行してみましょう。
入会年数が表示されましたが、何かおかしいです。
2024/2/1 なので、2023/2/2はまだ1年経っていないハズなのに、1年と算出されています。
2023/12/31も2024/2/1からみれば、たった、32日前なのに、1年と算出されています。
2024/1/1も2024/2/1からみれば、たった、31日前ですが、こちらは、0年と算出されています。
AccessのDateDiff関数は、その期間中にある、1月1日をカウントした結果を算出している、昔の満年齢のような算出をしているので、おかしな結果が表示されていたというわけです。
そこで、演算式を修正する必要があります。
修正年数: IIf(Format([入会日],"mm/dd")>Format(#2024/02/01#,"mm/dd"),DateDiff("yyyy",[入会日],#2024/02/01#)-1,DateDiff("yyyy",[入会日],#2024/02/01#))
すごく長くなりましたが、実行してみます
さて、この長い数式ですが、いったい何をしているのか、説明します。
ExcelのIF関数にあたる、AccessのIIf関数をつかって、条件分岐をしております。
入会日を「mm/dd」という表示にして、終了日の日付も「mm/dd」にします。
これで、日付で比較することができます。
仮に 3/1ならば2/1とくらべて大きいわけです。まだ入会日を迎えていないので、「-1」する仕組みです。
このような方法で、Accessでも満年齢を求めることができます。
ただ、Excelのように楽に設定はできないようです。
IMPRODUCT関数
読み方: アイエムプロダクト
読み方: イマジナリープロダクト
分類: エンジニアリング
IMPRODUCT(複素数1,[複素数2],…)
複素数の積を算出する
セル内の文字数を知るには、LEN関数をつかいますが、特定の文字となると、対応することができません。
では、どのようにしたらセル内の特定の文字を数えることができるのでしょうか。
カレンダーに第何週というように記載されていることがあります。
ところが、外資系の会社のスケジュール表をみると、1月1日を含む週を第1週としていないことがあります。
多くが、ISO国際標準化機構のISO週番号を採用しているようです。
このISO週番号は、最初の木曜日を含む週がその年の第1週と定められています。
例えば、2025/1/1は水曜日です。そうなると、最初の木曜日は2025/1/2なので、2025/1/2が含まれている週全体が、第1週ということになるわけです。
よって、2024/12/31は、前年ですが、週としては、第1週という扱いになるわけです。
これをどのようにしたら、求めることができるのでしょうか。
最初の木曜日が…と考えそうですが、ISO週番号を求めることができる関数があります。
それが、「ISOWEEKNUM関数」です。
通常の週番号を算出するのが、WEEKNUM関数です。
C2には、
=WEEKNUM(A2)
という関数が設定してあります。
そして、ISO週番号は、D2に数式を設定してあります。
=ISOWEEKNUM(A2)
あとは、オートフィルで数式をコピーします。
これで、ISO週番号に対応した週番号を算出することができました。
IMPOWER関数
読み方: アイエムパワー
読み方: イマジナリーパワー
分類: エンジニアリング
IMPOWER(複素数,数値)
複素数のべき乗を算出する
Facebookページに書いた、Excelの豆知識(Trivia)です。
8月11日
Excel。
STOCKHISTORY関数
読み方: ストックヒストリー
分類: 財務
STOCKHISTORY(stock,start_date,[end_date],[interval],[headers],[properties1],…)
指定された銘柄と日付範囲の過去の相場データの配列を返す
8月12日
Excel。
SUBSTITUTE関数
読み方: サブスティチュート
分類: 文字列操作
SUBSTITUTE(文字列,検索文字列,置換文字列,[置換対象])
文字列中の特定の文字を別の文字に置換する
8月13日
Excel。
SUBTOTAL関数
読み方: サブトータル
分類: 数学/三角
SUBTOTAL(集計方法,参照1,…)
11種類の集計方法で小計を算出します
8月14日
Excel。
SUM関数
読み方: サム
分類: 数学/三角
SUM(数値1,[数値2],…)
数値の合計します
8月15日
Excel。
SUMIF関数
読み方: サムイフ
分類: 数学/三角
SUMIF(範囲,検索条件,[合計範囲])
条件付きで数値の合計を行います
8月16日
Excel。
SUMIFS関数
読み方: サムイフズ
読み方: サムイフエス
分類: 数学/三角
SUMIFS(合計対象範囲,条件範囲1,条件1,…)
複数の条件付きで数値の合計を行います
8月17日
Excel。
SUMPRODUCT関数
読み方: サムプロダクト
分類: 数学/三角
SUMPRODUCT(配列1,[配列2],[配列3],…)
複数の数値の組を掛け合わせて合計を行います
Excelのシート内に、入力されているメモ。
以前は、コメントといっていましたが、結構注意書きとかが入力されていることがあります。
基本的にメモは、マウスをそのセルの上に乗せることで、表示されてるようになっています。
ただ、それだと、面倒です。
また、メモを表示することできますが、メモ同士が重なってしまい、見にくいこともあります。
さらに、そのメモの内容を、取り出した一覧となると、コピーするのも面倒です。
そこで、Excel VBAでプログラムを作って対応したいと思います。
Sub メモ内容をセルに抽出()
Dim memo As Range
Dim lastrow As Long
Dim i As Long
i = 1
With Range("a1").CurrentRegion
For Each memo In .SpecialCells(xlCellTypeComments)
Cells(i, "e") = memo.Address(False, False)
Cells(i, "f") = memo.Comment.Text
i = i + 1
Next
End With
End Sub
まずは、実行してみます。
では、プログラムを確認します。
最初は変数宣言です。
Dim memo As Range
Dim lastrow As Long
Dim i As Long
表示する行番号のために 変数iに1を代入します。
i = 1
可読性をあげるために、Withをつかっています。
With Range("a1").CurrentRegion ~ End With
これで、「Range("a1").CurrentRegion」を省略することができます。
For Each memo In .SpecialCells(xlCellTypeComments) は、メモが入力されているセルを探しています。
Cells(i, "e") = memo.Address(False, False) は、E列に、メモが入力されているセル番地を表示する様に設定しています。
Cells(i, "f") = memo.Comment.Text は、F列にメモに入力されている文字列を抽出し、表示しています。
メモが多く、表示するのが大変などに、このようなプログラムを用意しておくといいかもしれません。