タグ別アーカイブ: リスト

Power Queryって何?12~重複のないリストを一瞬で作成

こんにちは、Excellent仕事術ガッツ鶴岡です

 ドロップダウンリストはガッツに頼らず、エクセルの入力作業を効率化するのに欠かせないものです

 ところが、ドロップダウンリストの元になる「重複のないリストデータ」を作成すること自体が、実は結構な手間だったりします

 Power Queryでは、この重複の無いリストデータの作成を直感的なクリック操作により作成することができます

 しかも、並べ替えなども行い易い画面構成になっています

 では、ポイントを絞りながらリストデータ作成の解説を行って行きます

1.元データをPower Queryエディターで読み込む

では、まず元データをテーブル化してPower Queryエディターを開きます

テーブル化

2.変換タブの「リストに変換」をクリック

Power Queryエディターが開いたら、変換タブに移動しましょう

すると、「リストに変換」というボタンが見つかるはずです

リストかする列をカーソルで指定したら、この「リストに変換」ボタンをクリックします

リストに変換

すると、次の画像のように選択した1列だけが残っています

3.リストデータのチェック及び再変換

ここから、過去の記事で紹介した「個別の値のカウント」処理を行い、リストに重複がないかどうかを確認します

ちなみに「リストに変換」処理を行うと上の画像のようにもう一つの「変換タブ」へ自動的に移動しています

出力された結果を見ると「12」です

では、画面右の「適用したステップ」にて「計算された個別カウント」を削除して1つ前の状態に戻りましょう!

既に「重複の排除が済んでいたかどうか?」のチェックを行いしましょう!

この解説で使用しているデータだと20行あるので、重複排除は行われていません

ですので、下の画像の「重複の削除」ボタンで重複を消します

重複の削除を行うと、次のGIF画像のように「いくつの行を削除したか?」については出力されないので、この点は注意が必要です

すると12行になりました

後は、昇順もしくは降順で並び替えを行いましょう!

<まとめ>

 今回紹介した、Power Queryエディターのリスト化専用の変換タブは、ユーザーのニーズに合わせてよく作成されていると思います

 このリスト化に必要な次の3つの処理を、うまく組み合わせて処理が進められるようになっています

・重複削除の有無

・重複削除

・並び替え

 ぜひ、ドロップダウンリストを作成する時には、この「リストに変換機能」をうまく活用して省力化につなげて頂けると嬉しいです

長文に最後までお付き合い頂き、誠にありがとうございました

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村



新型関数のおすすめ記事~スピルを体験しよう~

新たなに加わった新型関数は使い勝手がとてもいいです

ピボットテーブルの集計データを無理に使い回さなくても、集計が簡単に行えます

1つのセルに関数を入れたら、値があふれでるスピル体験をしていない人はぜひ早めに体験してみましょう!

これまで五月雨式に記事を書きましたが、以下にまとめて紹介します

1.FILETER関数⇒特定の条件のデータを抽出する関数

1セルに1FILTER関数を入力すれば、それだけで複数のデータを抽出してくれます

エクセルなのに・検索付きリスト_1/2

FILTER関数を使用して、検索付き機能付きののリストを作成します

Filter関数&テーブル機能でのデータ検索

テーブル機能と連携して効率よくデータを抽出する方法を紹介しています

2.XLOOKUP関数⇒VLOOKUP関数の進化型関数

XxXLookup関数で集計上手になる!

エクセル分析を行う人で、2軸でのランク付けを楽に行いたい人におすすめです

以下のGIFでは、ⅰ売上とⅱ前期比の2つの軸でランク付けを、自動で行っています

XLOOKUP関数を体で覚える

XLOOKUP関数をアニメ付きのエクセルを使用し、XLOOKUP関数が集計されるまでの複数の動きを体感できるようにします

3.SORT関数⇒データを並べ替えて出力する関数です

SORT関数によるエクセルデータの並び替え~列の並び替えも可

エクセルではこれまで、列方向のフィルターや並び替えが弱い傾向はありました

列フィルターを「列の非表示」を通じて実現する方法はこれまでもありましたが、列方向の並び替え機能はあまり使い勝手はよくありませんでした

今回紹介するSORT関数は、そんなこれまでのエクセルの弱点を補ってくれる関数です

4.UNIQUE関数⇒重複を排除してリスト化する関数

リストをUNIQUE関数でより便利に

UNIQUE関数を使用してリストを簡単に作成する裏技も紹介します

今回は以上です

ではスピル体験をぜひ楽しんでください!

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

リストをUNIQUE関数でより便利に

予め用意したリストデータを基にして、簡単に選択が行えるようにするリスト機能はとても便利です

 ただ、リストデータが重複している時にはデータをクリーニングしなくてはなりません

リストにA,A,B,Bとかでたり、A,B,A,Bみたいに出たらおかしいですよね

そこが面倒なところです

 ところが、UNIQUE関数を組み合わせると、データクリーニングの必要はなくなります

以下、ポイントの解説です

1.UNIQUE関数

1つセルに入力すると複数の値を出力する新しいタイプの関数の一つです

指定した範囲のデータから重複を排除します

関数の指定範囲が可変になるため、事前に指定範囲をテーブル化しておくのがポイントです

2.出力データの再利用

新タイプの関数の特徴の1つに、出力データの再利用があります

=セル+#、これだけで再利用できます

今回のリストの範囲はこの仕組みを利用します

<まとめ>

1つのセルに入力すると複数の値を出力する新しいタイプの関数は、使い道がタップリです

様々な機能と組み合わせると、使い道はいくらでも広がります

ぜひ、色々と研究してみましょう!

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

エクセルなのに・検索付きリスト_2/2

今回は、検索付きリストの具体的な作成方法を紹介します

作成するには、3つの手順を踏みます

ちなに、VBAは一切使いません!

➀検索文字を作成

リストに入力された文字から検索文字を作成する

➁候補データの作成する

検索文字をもとにして、リストデータから候補データを作成する

③候補データの表示

②で作成した候補データをリスト表示します

上の①~③をエクセルシート上で表すと、次の画像の通りとなります

画像に alt 属性が指定されていません。ファイル名: 3-1.jpg

上の画像の中で、最もポイントとなるのはです!

ここで、エクセルの新機能である、1セルに出力範囲が収まらない関数を使用します!

では、ここから詳細な解説を開始します

➀検索文字を作成

下の画像の通り、C1セルに「=E2」を入力し、リスト内の文字(E2セル)を、検索文字としてC1セルに抽出します

➁候補データを作成する

ここから次の3つの関数を組み合わせて、検索文字から候補データを作成しますⅰ)SEARCH関数

ⅱ)ISNUMBER関数

ⅲ)FILTER関数

ⅰ)SEARCH関数

構文/SEARCH(検索文字列,対象,[開始位置])

まずは下のGIF画像にて、この関数を入力した時の様子を確認してください

1つのセルに入力したら、対象(リストデータ)に該当したデータを複数出力してくれます

ちなみに、上のGIFで出力される「1」の意味合いは想像がつきますでしょうか?

もし、検索文字が「悟」の場合には、下の画像のように「4」が出力されます



つまり、SEARCH関数は検索文字が含まれる位置を出力してくれるのです!

ですので、検索文字が含まれる候補データを、リストデータの中から特定できるようになりました

ただし、あくまで候補データを特定しただけで、候補データとしてはまだ使用できませんので、次のⅱ)でもう少し修正を加えます

ⅱ)ISNUMBER関数

構文/ ISNUMBER(判定対象)

ISNUMBER関数は判定対象が「数字」かどうかを判定する関数です

判定対象が数字であればTRUE数字でなければFALSEを返します

ですから、前述ⅰ)のSEARCH関数で出力した内容(例/1や4)をISNUMBER関数の判定対象にした場合にはどうなるでしょうか?

ISNUMBER関数の判定がTRUEのものは「候補データとして使えるもの」、FALSEは「候補データとして使えないもの」として区分することができます

ⅲ)FILTER関数

構文/FILTER(a:対象,b:条件式,c:省略可/合致するもの無の場合)

➁の仕上げとしてFILTER関数を使います

FILTER関数は、aの対象リストの中からbの条件式に合致するものを抽出します

今回は、FILTER関数で下の画像の「A列/リストデータ」の中から、「C1セル/検索文字」が含まれているものを抽出します

画像に alt 属性が指定されていません。ファイル名: 6.jpg

但し、検索文字に該当するかどうかについては、直接は判定することができないので、b条件式を2段階に分けます

ちなみに、条件式はTRUEかFALSEかどうか、でも設定可能です!

1段階目➡SEARCH関数にて、リストデータの中で検索文字を含むものは数値化

2段階目➡1段階目で数値化したものをISNUMBER関数でTRUEとFALSEに置換

では、上記の「1段階目」と「2段階目」を実際にFILTER関数で表現してみしょう!

FILTER( _

a:A列/リストデータ _

b:ISNUMBER(SEARCH(C1セル/検索文字,A列/リストデータ)) _

)

上のb条件式を前述の1段階目と2段階目で分けると次の通りとなります

1段階目 ➡ SEARCH(C1セル/検索文字,A列/リストデータ)

1段階目で検索文字が含まれている位置を1や4などに数値化します

2段階目 ➡ ISNUBER(1段階目)

1段階目で数値化されたものをTRUE、それ以外をFALSEで返します

では、上記のFILTER関数の実際の”動き”をGIF画像で確認してみましょう

C1セルに設定した、E2セルとの連動式(=E2)を一旦外し、「鈴木」と入力してみます

検索文字の「鈴木」を含む候補データが、A列のリストデータから抽出されています

検索文字の「鈴木」を入力する前は、全てのデータが出力されています

これは、氏名の間に空白が含まれているためです

③候補データをリストに表示する

②で候補データを抽出する仕組みができました

いよいよ、候補データから検索付きリストを作成します

➀で検索文字を入力しますが、通常のリストの作成の仕方では、エラーになってしまいます

何故なら、検索文字自体はリストに含まれていないからです

例えば、下の画像でいえば、鈴木健司~鈴木修の中に「鈴木」と一致するものがないです

ではどうするか?

リスト機能にはエラーメッセージを調整する機能があるので、そちらの機能を使います

上の画像の黄色の箇所「無効なデータが入力されたらエラーメッセージを表示する」のチェックを外します

そうすれば、リストに完全一致しないものをリストに入力してもエラーメッセージは出力されません

そして、最後にリストの範囲の仕方を工夫しましょう

リストの「元の値」として、候補データが出力される最初のセルを指定しましょう!

 そして、を加えれば、出力される候補データ数に合わせてリストが自動作成されます!

下のGIF画像は#の使用例です!

<まとめ>

 今回は、エクセルの新機能(SEARCH関数、FILTER関数)とリスト機能を組み合わせてリストに検索機能を加えることができました

 SEARCH関数により、検索文字を含む文字列から検索文字が含まれる「位置/数値」を抽出し、ISNUMBER関数でTRUEFALSEに置き換えるのがポイントです

 検索文字が含まれているかどうかをTRUEかFALSEに置き換えることで、FILTER関数の条件式として活用することができます

 FILTER関数をはじめとする、エクセルの新関数を有効活用すれば「VBA無」でもかなりの事ができますので、今回を機会に、ぜひ研究してみてください

FILTER関数の使用例については、他にも記事を書いています!

 もし、今までリスト機能を使ったことがない方がいたら、エクセル画面上のデータタブからデータの入力規則を見つけてみてください

データの入力規則から前述のリストが作成できます

解説は以上です

長文に最後までお付き合い頂き誠にありがとうございました

参考までに今回使用したエクセルファイルを添付します

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

エクセルなのに・検索付きリスト_1/2

エクセルのリスト機能はとても便利です

私も重宝しています

ただ、リストデータが一定数を超えるととても探しづらくなります・・・

とにかく、カーソルを下へ下へと旅が続きます

ところが、

エクセルの新機能を使えば、検索を行いながらリスト選択ができるのです

上のGIFでは、まずリストの中に”鈴木”と入力します

その後に、▽を押すとリストデータ内で”鈴木”を持つデータが表示されます

このリストを作成するのにVBAは使用しません

エクセル新機能と言える2つの関数を使用します

普通、関数と言えば値が1つ返ってくるのが常識でした

今回の検索付きリストで使用するSEARCH関数とFILTER関数はこの常識を覆すものです

例えば、下の画像で言えば、C3セルにSEARCH関数を入力すると「鈴木」を含む位が複数出力されます

今回のリスト作成を通じて、ぜひ、これらの新機能も有効活用できるようになりましょう!

では次回、詳細を解説していきます

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

スライサーのリスト表示順とピボットテーブルの表示順を自由自在に変える方法

 ピボットテーブルの表示を操作しやすくするスライサーはとても貴重な存在です。スライサーを使うだけでエクセル画面が華やかになります。

  ただし、スライサーの使い方について、困ったことが起こっても日本語での解説はあまりないのが現状です(⇒スライサーについての詳細記事あります) 

 スライサーを使っていて困ることの一つは、スライサーで自動設定されている並び順を変えたい時です。そんな時にはリスト自体を自分で設定して独自の並び順を作成しましょう

この方法はピボットテーブルの表示順の変更にも活用できます

それでは、独自の並び順を作成する手順を3段階で説明します!

目次

1.並び順を決める

2.オプションの詳細設定でリストを設定する

3.並び順を変える

1.並び順を決める

 下の画面では、スライサー上では中村さんが1番上の左に来ていますので、田中さんの表示を1番上・左に移動したいとします

後で詳細を解説しますが、リスト全体を含めて並び順を設定するので、リスト全ての並び順を事前に決めおく必要があります

2.オプションの詳細設定でリストを設定する

 エクセル画面の左上、ファイルタブから⇒オプション⇒詳細設定をクリックして、下までスクロールします

 全般という文字が見えたら、右下に「ユーザー設定リストの編集」のボタンが見えますのでこちらをクリックします

立ち上がったダイアログの右側に 「1.並び順を決める」 で決めた順番でリストを記入しましょう

続きを読む スライサーのリスト表示順とピボットテーブルの表示順を自由自在に変える方法