Excel。英字の大文字小文字の区別なく検索す文字列のバイト数を算出するのがSEARCHB関数です。
<関数辞典:SEARCHB関数>
SEARCHB関数
読み方: サーチビー
分類: 文字列操作
SEARCHB(検索文字列,対象,[開始位置])
英字の大文字小文字の区別なく検索す文字列のバイト数を算出する
【Excel・Word・PowerPoint・Access】あなたの「困った」を解決!10年以上の経験が詰まった、現場の疑問から生まれた実践テクニック集。作業効率を劇的に上げるOffice活用術をお届けします。
SEARCHB関数
読み方: サーチビー
分類: 文字列操作
SEARCHB(検索文字列,対象,[開始位置])
英字の大文字小文字の区別なく検索す文字列のバイト数を算出する
数値を入力するセルをわかりやすいように、塗りつぶしたいけど、シートのアチラコチラに散らばっている場合など、範囲選択するのは、面倒です。
そこで、選択オプションをつかうことで、いろいろな、条件で範囲選択することができます。
その方法をご紹介しております。
四捨五入で整数にするにはExcelだとROUND関数をつかいます。
C2の数式は、
=ROUND(B2,0)
オートフィルで数式をコピーしました。
C4は124.4で四捨五入すると124
C5は124.5で四捨五入すると125
きちんと四捨五入されていますね。
では、Accessではどのようにしたらいいのでしょうか。
Accessのテーブルを用意しました。
そして、Accessにも、四捨五入のRound関数が用意されています。
では、クエリで、四捨五入をつくってみましょう。
Round関数: Round([数値],0)
AccessもExcelと同じ引数ですね。整数にしたいので、桁はExcel同様に0とします。
では、クエリを実行してみましょう。
よくみると、124.5の結果が、Excelだと125なのに、Accessでは124になっています。
Accessは間違っているということ。ではないんですね。実は、ExcelとAccessの四捨五入は四捨五入であっても、異なっています。
Excelの四捨五入は、算術の四捨五入なんですが、Accessの四捨五入は、JIS式の丸め処理を行います。
一般的な四捨五入(Excel の ROUND関数)
- 1〜4 → 切り捨て
- 5〜9 → 切り上げ
「5」は必ず切り上げるため、丸めを繰り返すと数値が大きい方向に偏りやすい
■ JIS 式の丸め(Access の Round関数)
- 桁以下が ちょうど 5 のとき
→ 結果が偶数になるように丸める(偶数丸め)
- 「5」を切り上げる場合と切り捨てる場合が 半々になる
- そのため、一般的な四捨五入のような 偏りが発生しにくい
「銀行型丸め(Banker’s Rounding)」とも呼ばれています。
このようなことから、同じ結果にならないことがありますので、注意が必要です。
では、どのようにしたらいいのでしょうか。
四捨五入: Int([数値]+0.5)
では、実行してみましょう。
偶数奇数関係なく、数値に0.5を足した値を、整数化するInt関数をつかうことで、対応すれば、ExcelのROUND関数と同じ結果になります。
合致する・しないで悩まないように、Access関数のRound関数を使用する・しないは検討する必要がありそうですね。
SEARCH関数
読み方: サーチ
分類: 文字列操作
SEARCH(検索文字列,対象,[開始位置])
英字の大文字小文字の区別なく検索する文字列の位置を算出する
Facebookページに書いた、Excelの豆知識(Trivia)です。
2月8日
Excel。
and関数はずべての条件が成立するかの判断関数です。
2月9日
Excel。
not関数は指定した条件が成立しないことを判断関数です。
2月10日
Excel。
rank.eq関数は順位をつける関数です。
2月11日
Excel。
rank.avg関数は順位をつける関数です。ちなみに同順位を平均化する
2月12日
Excel。
iseven関数は偶数かの判断関数です。
2月13日
Excel。
isodd関数は奇数かの判断関数です。
2月14日
Excel。
istext関数は文字列かの判断関数です。
集合縦棒グラフに平均線を入れる方法は以前ご紹介しております。
今回紹介するのは、そのアレンジ。
平均線を描くのではなく、もっと視覚的にわかりやすくしたいので、平均値を境として背景を塗り分けた集合縦棒グラフのつくりかたを紹介します。
=AVERAGE(B2:B6)
C2:C6は、B8の値をセル参照させています。
C2の数式は、=$B$8
C6まで、オートフィルで数式をコピーしています。
D2には、100から平均値を引いた数値を算出しております。
今回は、100が上限なので、100としていますが、ケースによって変更します。
D2の数式は、
=100-$B$8
こちらも、オートフィルで数式をコピーしています。
グラフを作成していきます。
A1:D6を範囲選択します。
挿入タブのグラフにある「おすすめグラフ」をクリックします。
塗りつぶすデータの平均値と100-平均値はグラフの種類を第2軸(チェックマークをオン)にして「積み上げ面」に設定します。
OKボタンをクリックします。
あとは、凡例に表示されていた、平均値と100-平均値は削除しております。
グラフを修正していきます。
第1縦軸(左側の縦軸)と第2縦軸(右側の縦軸)の目盛を合わせる作業から始めます。第1縦軸をクリックします。
書式タブのグラフ要素が「縦(値)軸」になっていることを確認して、選択対象の書式設定をクリックします。
作業ウィンドウは表示されたまま、グラフの右側に表示されている第2縦軸をクリックします。
軸の書式設定作業ウィンドウは、見た目かわりませんが、第2縦軸の設定に変わっていますので、こちらも、最大値を100と、第1縦軸と値を合わせます。
両縦軸とも同じ目盛になっていることを確認します。
修正を続けます。
グラフのデザインタブの「グラフ要素を追加」から軸の「第2横軸」をクリックします。
背面の塗りつぶしがおかしくなっていますが、気にせず修正を進めます。
軸位置を「目盛」に変更します。
そのまま、グラフの右側に表示されている第2縦軸をクリックします。
グラフの右側に表示されている第2縦軸は不要なので、クリックして、DELキーで削除します。
第2横軸も削除したいところですが、DELキーで削除すると、背景を塗り分けしたのが台無しになってしまいます。
ラベルの「ラベルの位置」を なし
と設定します。
この直線を消す作業をします。
横軸をクリックします。
SCAN関数
読み方: スキャン
分類: 論理
SCAN(initial_value,array,function)
LAMBDA関数を各値に適用して配列をスキャンし、各中間値を持つ配列を返します
Excelのショートカットキー。CtrlとShift+数値などの組み合わせを紹介
<ショートカットキー>
作業効率もUPする、知っていると便利なショートカットキー。
Ctrl+Shift+1
マイナスの数値を赤色にしない表示形式にする
Ctrl+Shift+2
アクティブなセルの 1 つ上のセルの値をコピーします。
Ctrl+Shift+3
日付形式を設定する
Ctrl+Shift+4
通貨スタイル (¥)を設定する
月末日をExcelで求めるには、EOMONTH関数を使います。EOMONTH関数は月末日を求めることができる関数です。
=EOMONTH(A2,1)
では、Accessならどうするのでしょうか。
テーブルを用意しました。
挿入タブのクエリデザインをつかってクエリをつくります。
翌月末日: DateSerial(Year([日付]),Month([日付])+2,0)
クエリを実行してみましょう。
翌月末日を求めることができました。
Accessには、EOMONTH関数がないので、DateSerial関数を使います。
DateSerial(Year([日付]),Month([日付])+2,0)
引数は、年・月・日です。
年は、Year関数をつかいます。Month関数で、月を求めることができます。
この月を+2します。+1で翌月なのですが、+2をすることで翌々月になります。
そして、日を0にすることで、前月の末日にすることができるという仕組みです。
要するに、2026/3/0 という日付をつくるという具合ですね。
当然3/0なんてものは、ないので、前日の2/28になるというわけです。
こうすることで、うるう年にも対応することができます。
RTD関数
読み方: アールティーディー
読み方: リアルタイムデーターサーバー
分類: 検索/行列
RTD(プログラムID,サーバー,トピック1,[トピック2],…)
RTDサーバーからデータを取得する
データベースで厄介なトラブルの一つである
「重複」
ケースバイケースで対応する方法が異なります。
そこで、今回は、重複に対応する3種類の方法を
ご紹介しております。
これで、重複問題も解決に向かうのではないでしょうか
3つの表があります。
全てのグラフを範囲選択して、集合縦棒グラフを作ってみます。
A1:B5・A7:B10・A12:B14 を範囲選択します。
集合縦棒グラフが挿入されますが、よくみると不思議な空間があります。
2つめ、3つめの見出し行がプロットされてしまっていることがわかります。
どうやら、1つめ以外の見出し行は、範囲選択してはいけないようです。
改めて、A1:B5・A8:B10・A13:B14 を範囲選択します。
集合縦棒グラフを作ってみます。
ただできるのですが、例えば、データを降順で並べ替えたグラフにしたい場合、単純に範囲選択するだけではできません。
一度、表をつくって降順に並べ替える必要があります。
そこで、SORT関数とVSTACK関数を組み合わせて、表をつくります。
=SORT(VSTACK(A2:B5,A8:B10,A13:B14),2,-1)
これで、3つの表を1つの表にして、さらに、販売金額を降順で並べることができます。
あとは、D1:E10を範囲選択して、集合縦棒グラフを作ってみます。
集合縦棒グラフをつくることができました。
では、最後に、1つの表にするために設定した数式を確認しておきましょう。
=SORT(VSTACK(A2:B5,A8:B10,A13:B14),2,-1)
VSTACK関数から説明します。VSTACK関数は、複数範囲を合体することができます。
VSTACK(A2:B5,A8:B10,A13:B14)
これで、1つの表になったので、この表を並べ替えるためにSORT関数をつかいます。
SORT関数の最初の引数は、配列。
範囲ですので、VSTACK(A2:B5,A8:B10,A13:B14)
2つ目の引数は、並べ替えインデックス。どの列を並べ替えるのかということで、販売金額で並べ替えたい。
販売金額は2列目なので 2 と設定します。
3つ目の引数は、並べ替え順序。
昇順か降順かということをきいています。
昇順なら1。
降順なら-1を設定します。
降順にしたいので、-1を設定します。
Facebookページに書いた、Excelの豆知識(Trivia)です。
2月1日
Excel。index関数は行・列位置を指定してデータを抽出関数です。
2月2日
Excel。match関数は指定したデータが範囲の何番目にあるかを算出関数です。
2月3日
Excel。indirect関数は文字列をセル番地や名前として直接的に参照する関数です。
2月4日
Excel。choose関数は値のリストから指定した位置の値を参照する関数です。
2月5日
Excel。offset関数は相対的な位置関係で指定したセルを参照する関数です。
2月6日
Excel。if関数は条件分岐関数です。
2月7日
Excel。or関数はいずれか一つでも成立するかの判断関数です。
4月25日までなら、翌月の5月に支払。
4月26日以降なら、翌々月の6月に支払。
このように何月に支払いをすればいいのかがわかる一覧表をつくりたい。
では、どのようにしたらいいのでしょうか。
目視ではちょっと大変ですよね。
そして支払月ですが、
B2には
=MONTH(EDATE(A2-25,2))
という数式が設定されています。
オートフィルで数式をコピーしています。
この数式だけで、25日までは翌月、それ以降は翌々月を求めることができます。
この数式のポイントは取引日から-25していることです。
C列に取引日から-25した日付を表示してみましょう。
A6の2025/6/26は2025/6/1となっています。
これで、25日を境目とする条件を満たすことができます。
そして、EDATE関数の2つ目の引数を2とすることで、2か月後の日付をつくることができます。
その2か月後の日付からMONTH関数で月を抽出すれば、完成です。
作業効率もUPする、知っていると便利なショートカットキー。
Ctrl+Insert
コピーする Ctrl+Cと同じ
Ctrl+Delete
データを削除する Deleteキーと同じ
Ctrl+BackSpace
アクティブセルが表示されるまで画面スクロール
Ctrl+Tab
ブックを切り替える
RRI関数
読み方: アールアールアイ
読み方: レリバント・レート・オブ・インタレスト
分類: 財務
RRI(期間,現在価値,将来価値)
将来の価値から利率を算出する
得点表があって、合計点の合格ラインを60%にすることに決めたのはいいのですが、では、いったい60%の点数とは何点なのでしょうか?
簡単に求めることができる関数があります。
それが、PERCENTILE.INC関数です。
F2に合格ライン60%を求めてみます。
=PERCENTILE.INC(D2:D16,60%)
これで、60%の位置にある点数は126と求めることができました。
126点以上の人が合格ということがわかったわけです。
では、数式を確認しておきましょう。
ちなみに読み方は、パーセンタイル・ インクルーシブ
あるいはパーセンタイル・ インクルード といいます。
最初の引数は、配列。範囲なので、D2:D16
2つ目の引数は、率。今回は60%の位置の数値をしりたいので、60%
たったこれだけで、60%の位置の数値を確認することができました。