Excel。SMALL関数は指定した○番目に小さい値を算出します。
<関数辞典:SMALL関数>
SMALL関数
読み方: スモール
分類: 統計
SMALL(配列,順位)
指定した○番目に小さい値を算出します
【Excel・Word・PowerPoint・Access】あなたの「困った」を解決!10年以上の経験が詰まった、現場の疑問から生まれた実践テクニック集。作業効率を劇的に上げるOffice活用術をお届けします。
SMALL関数
読み方: スモール
分類: 統計
SMALL(配列,順位)
指定した○番目に小さい値を算出します
縦棒グラフをつくってみたところ、横軸の文字が長くて、とても読みにくい状態になってしまいました。
グラフの高さを伸ばせば、横軸の項目名は斜めで表示されます。
ですが、グラフ自体が大きくなることと、斜めは読みにくくなることが多いという欠点があります。
そこで、項目名を互い違いすることができないのでしょうか。
まずは、表ですが、ここにポイントがあります。
B1:C11を範囲選択してグラフをつくると、互い違いにすることができません。
そこで、E1:F11のように互い違いにするための表をつくります。
E2には、
=IF(MOD(ROW()+1,2),B2,CHAR(10)&B2)
という数式を設定します。
これで、互い違いにすることができます。
数式を確認しておきましょう。
IF関数です。
論理式には、MOD(ROW()+1,2)
MOD関数は、除算した余りを求めることができます。
ROW関数は、行番号を求めることができます。
行番号に+1した値を、2で除算した余りを求めるのが論理式です。
ちょっとわかりにくいので、H列に論理式をつくってみました。
Excelは1をTRUE。
すなわち真の場合。
0をFALSE。
すなわち偽の場合。
と求めることができます。
なので、
MOD(ROW()+1,2)=1と論理式はしていないわけです。
真の場合は、B2 をそのまま表示します。
偽の場合は、CHAR(10)&B2 とします。
CHAR(10)は、改行という意味なので、改行したB2という結果になります。
E列は、改行が入っているようにみえませんが、CHAR(10)があれば、改行が追加されています。
データができましたので、グラフをつくります。
E1:F11を範囲選択して、挿入タブのグラフから集合縦棒グラフを選びます。
これで、横軸の項目名が互い違いにすることができました。
Facebookページに書いた、Excelの豆知識(Trivia)です。
3月29日
Excel。concat関数は文字列と文字列を結合する関数です。ちなみに&と同じです。
3月30日
Excel。substitute関数は文字列内の特定文字を置換する関数です。ちなみに㈱⇒株式会社などできちゃいます。
3月31日
Excel。formulatext関数は数式を文字列化する関数です。
4月1日
Excel。text関数は文字列に表示形式を設定する関数です。
4月2日
Excel。convert関数は単位を変換する関数です。ちなみにヤードをメートル変換したりします。
4月3日
Excel。fv関数はローンの返済残高算出関数です。
4月4日
Excel。pv関数は現在価値を求める関数です。ちなみに定期積立預金などで使います。
住所フィールドには、都道府県名から建物名まで入力されているデータなので、都道府県をそのデータから抽出したい場合、Accessでは、どのようにしたらいいのでしょうか。
Excelの場合は、IF関数をつかってもいいのですが、次の方法でも、住所から都道府県名を抽出することができます。
C列には住所が入力されています。D列に都道府県を抽出したので、D2に数式を設定します。
=LEFT(C2,(MID(C2,4,1)="県")+3)
数式を設定後、オートフィルで数式をコピーします。
これで、都道府県を抽出することができます。
そもそも、なんでこんな数式をつくらないといけないのかというと、4文字目県問題があるからです。
4文字目県問題とは、神奈川県・和歌山県・鹿児島県のことを指します。
この3件だけ、県が左から4文字目にあります。
ほかの県や北海道・東京都・大阪府・京都府はすべて左から3文字目が区切り位置になっています。
そのため、4文字目が県かどうかの判断が必要だというわけです。
この数式のポイントは、
MID(C2,4,1)="県"
左から4文字目が県だったら、TRUE。
そうでなければ、FALSEを返します。
ExcelではTRUEを1、FALSEを0と定義しています。
4文字目が県ならば1 その値に+3すれば4になります。
そして、LEFT関数をつかうことで、左から4文字目までを抽出するという数式をつくることができます。
これで、都道府県を抽出することができるわけですが、Accessではどのようにしたらいいのでしょうか。
AccessにはIIF関数が用意されていますが、今回紹介したLEFT+MID関数の組み合わせと同じようできるといいのですが。
Accessでの確認をしておきます。
T_都道府県というテーブルの住所フィールドから都道府県を抽出するクエリをつくります。
クエリデザインをつかいます。
Excelと同じ数式を演算フィールドでつくってみました。
都道府県: Left([住所],(Mid([住所],4,1)="県")+3)
実行してみます。
神奈川県が「神奈」というように、左から4文字目どころか2文字目までで抽出されていることがわかります。
なんでこのようになったのかを確認するために、引数内のMid関数だけの演算フィールドをつくって確認してみます。
実行してみます。
AccessではTRUEを「-1」と定義されているので、左から2文字目までしか抽出してくれなかったわけです。
ならば、「+1」となるように演算フィールドを修正すればいいわけです。
「-1」を「1」にしたいだけなので「*-1」とマイナス1をかけてあげればいいわけです。
では、実行してみましょう。
これで、住所フィールドから都道府県名を抽出することができました。
住所データから「都道府県」だけを抜き出したい時、一番の悩みどころは「神奈川県」「和歌山県」「鹿児島県」の4文字県ですよね。
通常はIF関数を組み合わせて「もし4文字目が『県』なら…」と長い数式を作りますが、実はもっとスマートに、短く書く方法があるんです!
使うのは、エクセルの基本ルール:
「TRUE(正しい)は1」「FALSE(間違い)は0」という性質。
この動画では、IF関数を一切使わずに、LEFT関数とMID関数だけで4文字県問題をクリアする「プロの思考法」をじっくり解説します。
SLN関数
読み方: エスエルエヌ
読み方: ストレートライン
分類: 財務
SLN(取得価額,残存価額,耐用年数)
減価償却費を定額表で算出します
Straight LiNe depreciationの略