Excel【実践】数式のみで本格的な検索システムを開発!【解説】
Вставка
- Опубліковано 8 сер 2024
- 【重要】FILTER関数の第3引数に[空の場合]というものがあり、こちらが見つからなかった場合の表示設定になります。今回はIFERRORで書いていましたが、IFERRORではなくFILTER関数の第3引数に設定する方が一般的です。
(例)= FILTER( 従業員情報 , IFERROR(…)…条件… , "")
▼動画を見ながら実践できるようにコンテンツを配布中
it-yobi.com/excel-p-no174/?li...
【おすすめの参考書】
it-yobi.com/office-excel/#doc...
+---------------------------+
■IT予備メンバー募集
+---------------------------+
勉強を継続するためのサポートを行います。
その中には、動画内の作品の配布や質問し放題などを用意しています。
▼詳しくはこちら▼
it-yobi.com/member/
+---------------------------+
■目次
+---------------------------+
00:00 挨拶
00:05 完成イメージ
00:45 準備
01:16 作成(データベースのテーブル化)
02:35 作成(検索システム)
12:42 作成(検索システム:エラー対策)
13:17 完成
14:25 まとめ
+---------------------------+
■マンツーマンの講座(基礎から業務改善まで)
+---------------------------+
基本的な使い方から、業務相談、開発サポートまで行っています。
【Excel】基本操作からVBAまで
www.street-academy.com/myclas...
【Googleスプレッドシート】基本操作からGASまで
www.street-academy.com/myclas...
+---------------------------+
■開発依頼・相談・その他の仕事の連絡はこちら
+---------------------------+
気になることがあれば、ご連絡ください。
word07q@gmail.com
+---------------------------+
■再生リストはこちら(Excel・Googleスプレッドシート・Pythonなど)
+---------------------------+
タスク管理表やカレンダーなど細かくまとめています。
/ @chanryo_eff
+---------------------------+
■SNS
+---------------------------+
TwitterではUA-camでは発信していない小技などを定期的に配信しています。
【Twitter】効率化の小技を発信
/ chanryo_eff
【Instagram】作品を発信
/ chanryo_eff
【TikTok】Shorts動画を発信
/ program_chanryo
#IT予備にてファイル配布中
【重要】FILTER関数の第3引数に[空の場合]というものがあり、こちらが見つからなかった場合の表示設定になります。今回はIFERRORで書いていましたが、IFERRORではなくFILTER関数の第3引数に設定する方が一般的です💦「 = FILTER( 従業員情報 , IFERROR(…)…条件… , "")」
準備ファイル・完成ファイルはこちらで配布しています!
it-yobi.com/excel-p-no174/?link=4
【配布あり】こちらでExcel講座をまとめています!
it-yobi.com/course/?pageNo=1&orderNo=2&categoryNo=10&link=4
●---Excel【基礎】---●
Excelを始めるにあたり、必要な知識をまとめています!
ua-cam.com/play/PLuUrleRMhKDc1thXw-EmZAU34vhLrKnm3.html
●---Excel【実践】---●
実際に開発しながら解説しています!
ua-cam.com/play/PLuUrleRMhKDf4BrAPNt5lfJ7bGCcgCQUw.html
●---Excelその他---●
他にもデータベースなど再生リストを用意!
ua-cam.com/channels/y5cpoeTKqZ2cDzWX8NB3Gg.htmlplaylists
●---Python×Excel【基礎】---●
Pythonを使ってExcelを操作する方法を1から解説しています!
ua-cam.com/play/PLuUrleRMhKDfdmrJa-dck3YvZuocZH4KI.html
●---Python×Excel【実践】---●
実際に開発しながら解説しています!
ua-cam.com/play/PLuUrleRMhKDesZ1MRyndfD11f6QD1DNO4.html
●---Googleスプレッドシート【基礎】---●
Googleスプレッドシートを始めるにあたり、必要な知識をまとめています!
ua-cam.com/play/PLuUrleRMhKDe5kCiV88fRUuxsMvZ5asJC.html
●---Googleスプレッドシート【実践】---●
実際に開発しながら解説しています!
ua-cam.com/play/PLuUrleRMhKDfjumSrU4Zb1PcH0WKqyg0m.html
ちゃんりょうさんの動画をみながら作品配布を使ってやってみたらできました。とても便利なので仕事で応用して使いたいと思います。素晴らしい作品をありがとうございます。
ご活用いただきありがとうございます😆
今後もお役に立てるよう頑張ります!
すばらしいです。大変参考になりました。ありがとうございました。
これとスライサーを組み合わせれば、ちょっとしたかなり使い勝手が良くなると思いました。
GJ!!!!!!
こんばんは。
数式入力時にalt改行の活用はしたことなかったので、目から鱗でした!
また、+と✴︎でorとandを使えるのも考え方を聞いてすごい使えそうだなと思いました。
この上記の+と✴︎については、テーブル以外また、フィルター関数以外でも 絶対参照、相対参照を用いる数式なら全て同じように考えてやれば活用できるのでしょうか?
ありがとうございます!
IF文などの条件式を用いる場合は、+や*で実現することができます!
AND()やOR()などの関数もありますが、配列の複数条件の場合は、+や*を使う必要があるので注意する必要があります😊
大変参考になりました。
ご質問があります。データの中にpdfのハイパーリンクがあります。検索シートでリンク先を開くことができる方法はありますでしょうか?
コメントありがとうございます!
こちらの方法ですとハイパーリンクは文字列として抽出されてしまうため、埋込リンクだとなおさら厳しいかもです💦
埋込ではなく、パスが書かれている場合は、hypelink関数などと組み合わせることで作成できるかもです!
また直近で投稿予定の内容で、画像やリンクを生かして抽出する方法について解説しているため、興味があればご確認いただけますと幸いです!
ちゃんりょうさん、初めまして。
すごく分かりやすい動画をありがとうございます☺
動画の通りにやっていてタイピングミスも無いのですが、何故か「その関数は正しくありません」というエラーが出て実行できません。一体、何が起きているのでしょうか?
ありがとうございます!
この内容で「その関数は正しくありません」というエラーが出たことがないので根本的な原因は分かりませんが、2021年以降のFILTER関数が対応しているExcelであれば問題なく実現できるかと思います💦
素晴らしい検索システムでとても勉強になりました!
さて、使っていて気が付いたのですが、データがあるシート(動画では従業員情報のシート)をフィルターで抽出していたのですが、このフィルター抽出に時間がかかるようになってしまいました。(データ件数800行のうち、10行を抽出するのに15秒ぐらいかかります)
計算方法が「自動」であるのが原因と思い、「手動」にしたら早くなったのですが、これでは検索機能が動かないので意味がなく。
計算方法を「自動」にしたままで、フィルター抽出も早くできるような方法はありますでしょうか?よろしくお願いいたします。
ありがとうございます!
実際にそのシートを操作してみないとわかりませんが、抽出を2つに分割するのもいいかもですね。
全体から大区分の1つを抽出、大区分から小区分の1つを抽出のような感じです。(シートは複数になりますが)
もしくは、マクロで作成するのが早いかもです💦
@@chanryo_eff
アドバイスありがとうございます!マクロを作成する方向で検討します。ありがとうございました!
ちゃんりようさん、いつも参考にさせてもらっています。
このExcelで行う検索システムをスプレッドシート で行うことはできますか。
コメントありがとうございます!
FILTER関数はExcelとは若干引数が異なりますが、Googleスプレッドシートでも活用することができます。
ただ、Googleスプレッドシートにテーブルという機能はないので、直接範囲を指定して、空白行に対する対策をする必要があります。
ここだけ気を付ければ同じように実現できます!
ちゃんりょう様
いつも動画を参考にさせて頂き、業務改善を行っております。
質問ですが、元データの複数の列が存在する時、filter関数で一部の列だけ抜き取ることは可能でしょうか?
動画のサンプルデータで言えば、従業員ID、氏名、性別だけ抜き取りたい、と言った具合です。
自分がfilter関数使いこなせていないためですが、現在の関数だと元データの全ての列を抜いてきてしまうので、欲しい列だけ抜き取りたいです。
コメントありがとうございます!
FILTER関数に関しては、応用を含め以下の動画にて解説していますので、参考になるかと思います。
ua-cam.com/video/o8bMr5d0nkw/v-deo.html
早速のお返事有難うございました。
こちらを参考にしたいと存じます。
いつも色々と参考にしています。
今回、データベースが空白の時「#」と設定すれば空白になるのは分かりましたが、日付で表示したい場合は使用でませんでした。
IF関数を使用してやってみましたが、入れ込む箇所が合ってないのか、うまくいきません。
=IFERROR(FILTER,従業員情報,
IFERROR(FIND(A2••••)
の場合、どのように(どこに)IF関数を使用したら良いのでしょうか。
入れようと思っている関数はIF(範囲指定 = "","", 範囲指定)
表示形式が日付でも空白になるように設定をしたいです。
分かりづらい説明で申し訳ありませんが、ご教示いただけますと嬉しいです。
よろしくお願いいたします。
参考にしていただきありがとうございます!
こちらの記事に対策を書いてみましたので、参考になれば幸いです!
it-yobi.com/trick-no177/?link=4
@@chanryo_eff
そちらも既に参考済みでしたが、エラーがでてしまい、上手くできませんでした。
ちゃんりょうさんへ
今回、提供いただいた検索方法ですが、職場のエクセルが2013年だっため、フィルター検索が使えませんでした。
何か代替方法があるんでしょうか?
countifやvlookupを用いて似たようなことは実現できますが、スピルが使えない環境の場合、全てのセルに数式を入力する必要があります💦
ちゃんりょうさん初めまして!
動画を参考にし検索はできる様になったのですが元の表にあるURL (Googleフォトでリンク化しました)を検索後の表から飛ぶことができないのですがそもそも出来ない仕様となっているのでしょうか。
こあらさん初めまして!
こちらの場合は、数式でテキストしか抽出していないためリンクに関しては対応しておりません💦
大変参考になります!
質問させていただきたいのですが、テーブルにしない場合だとどうすればいいんでしょうか?テーブル名の代わりをつけることが可能なのでしょうか?
コメントありがとうございます!
テーブルでない場合は、表全体を指定してあげれば大丈夫です!
FILTERの条件式では、表の対象列全体を指定する必要があります😊
返信ありがとうございます😭
なるほど!一度試してみたいと思います!
質問ばかりになってしまいますが
元となるデータ(シート1)がなくても検索できるようにする事も可能なのでしょうか?
@@user-ug7lq6tf3o FILTER関数はデータをもとに絞っているだけなので、同じやり方の場合は、シート1は必要になります!
実際のフィルターやマクロを使うとシート1はなくても実現できるかもです!
少し異なりますが、フィルター機能を応用したものはこちらになります!▼
ua-cam.com/video/fKVJTrPCuV8/v-deo.html
コメント何回もありがとうございます🙇♂️
添付されたURLは以前に参考にさせていただき業務に活かすことができました!!
今回の抽出は実はセルを結合している部分があるためフィルターを使ったマクロの抽出が使えないです😭
フィルターを使わずに抽出できないかなと今探してる最中なんです
@@user-ug7lq6tf3o
どのように結合されているのかによりますが、バラバラな感じで結合されている場合はマクロで作成する必要があるかもです💦
ただ、実現不可能なことはないと思います!
実データでの確認などは概要欄のストアカにて対応可能になりますので、ご検討のほどよろしくお願いいたします!
追加の質問です。
マスタデータにハイパーリンクのURLがある場合、FILTER関数だと文字列?として認識されてしまいハイパーリンクに変換できません。
対処法はありますか?
URL部分のみfilter関数を使用せずxlookupを代用すればハイパーリンクにできそうですが、別のやり方があればご教授いただきたいです。😊
関数で抽出した情報には文字列の情報しかないため、リンクにはできないかと思います💦
XLOOKUP関数なども同様に文字列の抽出なので、リンクにはならないかと思います…
現状、リンクにする場合は、スピルを使わずにHYPERLINK関数などを上手く組み合わせるか、VBAで開発するとかの対策になるかもです😅
初めまして。
いつも利用させて貰ってます。
ご質問があります。
データの中に「1R」〜「12R」まであります。
1Rと検索すると、1Rと11Rが検索されてしまいます。文字列にしてみたのですが、やはり1Rと検索すると1Rと11Rが検索されてしまいます。
1Rで検索した場合、1Rのみが抽出される方法をご存じでしたら教えて頂けないでしょうか?
宜しくお願いします。
ご視聴ありがとうございます。
こちらの内容はFIND関数で検索しているため、あいまい検索となっております。
なので、対策としてFIND関数を使わずに、他の条件式(単純な比較演算子)を用いることで完全一致にすることができます。
参考程度にFILTER関数の動画を載せておきます。
ua-cam.com/video/guDWJNuXkPU/v-deo.html
ご回答、ありがとうございます😊
教えて頂いた動画を後でゆっくり見てみます。
分からない事があれば、また質問させて頂くと思うのですが、宜しくお願いします。
因みに、ちゃんりょうさんは、複数条件に一致した条件を抽出するマクロなども作成は出来ますか?
出来るようであれば、仕事の依頼をお願いしたいと思います。
お手数ですが、ご回答頂ければ幸いです。
宜しくお願いします。
@@user-yc1dd6jm3b
どのような条件で検索するのかにもよりますが基本実現できるかと思います!
(マクロなのか数式のみなのかにもよります)
またお手数でなければ、メールや公式LINEにて詳細情報を共有いただけますと幸いです🙇♂
※チャンネルの概要欄に記載しております。
いつも参考にさせてさせていただいております。ご質問なのですが【従業員情報】シートが複数ある場合に検索で全て表示する事は可能でしょうか。もしよろしければ回答お願いします。
ありがとうございます!
こちらの内容を活用する場合は、どこかしらに複数シートをまとめた表を作る必要があるかもです💦
他、複数シートの形式にはよりますがVBAを活用すると綺麗にできるかもです!
回答いただきありがとうございます😊
マスタデータに空白があった場合、「0」として表示されるのですが、空白セルは空白のまま表示させる方法を教えてください。
ユーザー定義に「#」を使用する以外でどんな方法がありますか?
こちらの記事が参考になるかと思います!
it-yobi.com/trick-no177/?link=4
できました!
FILTERの第一引数にIFで空白を絞ればいいんですね〜
ありがとうございます。
スプレットシートで、同じ物を作る事は可能ですか?
関数の使い方が若干異なりますが、可能になります!
空欄だった場合、0が返されてしまいますがこれを空欄のままにするにはどうしたらよいのでしょうか?
色んな方法がありますが、方法の1つとして、表示させる範囲の表示形式をユーザー定義で「#」と設定すると、0を非表示できます!
@@chanryo_eff
できました、ありがとうございます!
またひとつ勉強になりました!
いつもわかりやすい動画で大変参考になっています!
日付を検索したい場合データ側を文字列に、、とおっしゃってたのですが、どうもわかりません😭教えてください。期間指定して表示させ、それぞれの合計を求めようと思っています
文字列にするという内容は、「○○を含む」という検索用なので、期間指定の場合は異なります!
期間を指定する場合は、以下の内容が参考になるかもです。
it-yobi.com/excel-b-no2-17/?link=4
※こちらでは、DATEVALUE関数を使っていますが、セルに入力されている日付を参照する場合は、DATEVALUE関数は不要になります。
質問なのですが、PTAでこの関数を用いて児童の割り振りを作ろうとしたのですが、手順通り作成後、実行しようとすると(この関数に対して少なすぎる引数が入力されています)でエラーになってしまいます。
どうすれば解決できるか教えてもらえませんか?
入力した数式が本当に正しいのか、再度確認してみてください!(特に括弧の位置など)
@@chanryo_eff
ありがとうございました。
また、うまくいかない場合はご相談させてください。
=FILTERが出てこなくて入力するとエラーになってしまいます。
何か設定が違うのでしょうか?
わかる人お願いします
恐らくExcelのバージョンが対応していないかと思います💦
2021以降が対応になります。
使っているバージョンは2019になります。
代わりになる形式はわかりませんか?