Excel。SORT関数は、範囲または配列を並べ替えます
<関数辞典:SORT関数>
SORT関数
読み方: ソート
分類: 検索/行列
SORT(配列,[並べ替えインデックス],[並べ替え順序],[並べ替え基準])
範囲または配列を並べ替えます
【Excel・Word・PowerPoint・Access】あなたの「困った」を解決!10年以上の経験が詰まった、現場の疑問から生まれた実践テクニック集。作業効率を劇的に上げるOffice活用術をお届けします。
SORT関数
読み方: ソート
分類: 検索/行列
SORT(配列,[並べ替えインデックス],[並べ替え順序],[並べ替え基準])
範囲または配列を並べ替えます
オートフィルターなどをつかうことで、データ(レコード)を抽出することは、Excelでは簡単におこなうことができます。
では、列を抽出したい場合には、どのようにしたらいいのでしょうか。
次の表を用意しました。
A1:F5までの表があります。
その中から、時限・月曜日・水曜日・木曜日の列だけの表をつくりたい。
要するに、抽出したいわけです。
少なければ、コピペで対応してもいいですが、列数が多い。またデータ内容が変わることもあれば、コピペというわけにはいきません。
そこで、CHOOSECOLS関数とXMATCH関数を組み合わすことで対応することができます。
その結果が、A8:D13の表です。
A9:D9に抽出したい見出しを先に用意します。
そして、数式をA10に設定します。
先に、ネストのXMATCH関数から確認します。
XMATCH関数は、MATCH関数の進化系の関数です。
データがあれば、その位置を教えてくれる関数です。
XMATCH関数の最初の引数は「検索値」
A9:D9の見出し名が該当します。
2つ目の引数は、「検索範囲」。
先ほどの検索値のデータがどこにあるのかを調べさせるので、A1:F1を選択します。
どのようになっているのか、XMATCH関数の部分だけ確認してみましょう。
=XMATCH(A9:D9,A1:F1)
と数式を設定しました。時限は1列目に、水曜日は、4列目にあるということがわかりました。
XMATCH関数は、MATCH関数と異なり完全一致が初期設定になっています。
そのため、3つ目・4つ目の引数を設定しなくても大丈夫です。
ここまでで、XMATCH関数の動きは確認できましたのCHOOSECOLS関数の確認へとうつりましょう。
CHOOSECOLS関数は、配列から列を抽出する関数です。
配列は表なので、A2:F5が対象になります。見出しは用意してありますので、A2が始点です。
CHOOSECOLS関数の最初の引数は「配列」。A2:F5を範囲選択します。
2つ目以降の引数は、列番号を設定します。
XMATCH関数をつかうことで、列番号を求めることができますので、ここにXMATCH関数を設定します。
数式を設定して確認してみましょう。
ところが、気になるところがあります。それは、D10の0。
なんで、0(ゼロ)が表示されているのかというと、元のセルは、E2なのですが、空白になっています。表引きすると空白ではなくて、0を表示してしまいます。
0ではなく空白にしたいので、「&””」を数式に追加することで、0を消すことができます。
改めてですが、A10に設定する数式は、
=CHOOSECOLS(A2:F5,XMATCH(A9:D9,A1:F1))&""
これで、列単位での抽出ができました。
作業効率もUPする、知っていると便利なショートカットキー。
Ctrl+Shift+A
数式でカーソルが関数名の右にあるときに、引数名とかっこを挿入する。
Ctrl+Shift+C
図形などオブジェクトの書式をコピーする
Ctrl+Shift+F
セルのフォント設定ダイアログ ボックスを開く
Ctrl+Shift+G
ブックの統計情報 ダイアログ ボックスを開く
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関数は現在価値を求める関数です。ちなみに定期積立預金などで使います。