重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

添付のような資料を作成しているのですが、検索条件の市区町村・町域・他で検索すると、検索結果の所へ一覧表の中から該当するセルまたは行を表示させたいと考えています。

検索結果のセルへ、 =IFERROR(DGET($A$8:$F$2165,$A$8,A2:C3),"") の関数を入れているのですが、これだと【下津井】や【田ノ上】で検索したら何も表示されず、【下津井田之浦】【田ノ上新町】では問題なく結果が出ている状態です。

”下津井”・”田ノ上”で複数あるから表示されないんだろうな…という事までは分かるのですが、ここからどのように修正すれば良いのかが分かりません。

全く違う関数でも良いので、何かうまく検索結果が表示させられる方法をご教授頂ければと思います。


よろしくお願い致します。

「エクセル:複数条件に一致するセルを表示さ」の質問画像

質問者からの補足コメント

  • うーん・・・

    詳しいご説明ありがとうございます。
    教えて頂いた通りの数式を入れて試してみたのですが…なかなかうまく出来ません。

    何が違うのでしょうか…お手数をお掛け致しますが、ご確認頂けると助かります。

    よろしくお願い致します。

    「エクセル:複数条件に一致するセルを表示さ」の補足画像1
    No.4の回答に寄せられた補足コメントです。 補足日時:2019/10/21 09:17

A 回答 (5件)

No.3の回答者です。


ごめんなさい。提示した式が間違っていました。

参照するセルが入力セルと同じになっていましたね。
これを修正しても、複数列をもとにした完全一致の場合には、
エラーになるようです。
ちゃんと検証していいなかったことによる間違いでした。
データベース関数の応用ができなかったです。
 =DGET(Database,フィールド,Criteria)
この関数の場合、DatabeseやCriteriaの指定において、単独の
列なら以下の式でも問題ないのですが、範囲指定の場合正しく
認識してくれないようです。

B6セル単独なら、
 =IFERROR(DGET($A$8:$A$2165,A$8,E2:E3),"")
で対応できると思いますが、複数列の条件だと無理でした。
例えばE3セルに以下の式をいれます。
 =IF(B3="","",TEXT(B3,"=@"))
条件のセルが空白だった場合にも対応させました。
これで、B2:B3の検索条件で完全一致ができるようになります。
ただし、同じデータが複数あるとエラーになります。

今回のように、複数列を元に完全一致するためには、No.3でも
書いたように「="=下津井"」にしないとダメなようです。
他セルを参照する数式にした場合は、#VALUE!のエラーになる
ようで、正しく認識してくれませんでした。
「エクセル:複数条件に一致するセルを表示さ」の回答画像5
    • good
    • 0
この回答へのお礼

ありがとう

検証までして頂き、ありがとうございます。

やはり、複数条件での完全一致で表示させるのは難しいんですね…
新たに教えて頂いた関数でも、複数あるとエラーになるとの事ですので、
検索方法を変えるか、このままいくか…考えたいと思います。

お手数をお掛け致しました。
とても参考になりました!ありがとうございました。

お礼日時:2019/10/21 15:35

No.3の回答者です。



式の検索条件を、別の場所にしてはいかが。
 =IFERROR(DGET($A$8:$F$2165,$A$8,A2:C3),"") 
このままだと完全一致に対応しません。

そこで、A2:C2の範囲と同じものを隣に用意して、見えないように
白文字(塗りつぶしなし)にします。
このD2:F3を検索条件にして、こちら↓のような式にしてみて。
 =IFERROR(DGET($A$8:$F$2165,$A$8,D2:F3),"")
このままだと同じなので、D3~F3セルに以下の式をいれます。
 =TEXT(D3,"=@")
 =TEXT(E3,"=@")
 =TEXT(F3,"=@")
これで、A2:C2の検索条件で完全一致ができるようになります。
この回答への補足あり
    • good
    • 0

DGET関数などのデータベース関数において、条件の完全一致での


指定は、少し面倒な手順が必要です。

B3セルに
 ="=下津井"

これで完全一致した648行目のデータを得ることができます。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/ …
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …
https://officek.net/excel/e-formula/ef-add/efa-d …
    • good
    • 0
この回答へのお礼

ありがとう

お礼が遅くなり、大変申し訳ございません。
完全一致させるのは、なかなか難しそうですね…教えて頂いたURLを参考に、他に良い方法がないか調べてみます!ありがとうございます。

お礼日時:2019/10/21 00:30

こんばんは!



B3セルに入力した文字列を含む行をすべて表示したい!というコトですよね。

作業列を設けてみてはどうでしょうか?
H列を作業用の列とします。
画像の配置だとH638セルに
=IF((A638=A$3)*COUNTIF(B638,"*"&B$3&"*"),ROW(A1),"")

という数式を入れフィルハンドルでこれ以上データはない!というくらいまで下へコピーしておきます。

そしてA6セルに
=IFERROR(INDEX(A$638:A$10000,SMALL($H$638:$H$10000,ROW(A1)))&"","")

という数式を入れフィルハンドルで列・行方向にコピーしてみてください。

※ 表示される数字は数値ではなく、文字列になります。

※ 作業列が目障りであれば遠く離れた列にするか
非表示にしてください。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとう

明日試してみたいと思います!
ご丁寧な説明、ありがとうございます。

お礼日時:2019/10/18 22:12

こんにちは



「フィルタ オプション」をそのまま利用するのが簡単そう。
https://www.forguncy.com/blog/20170714_filteropt …
http://www.1147mono.com/Excel/katsuyou_02.htm
    • good
    • 0
この回答へのお礼

ありがとう

フィルターオプション!なるほどです!
ありがとうございます。

お礼日時:2019/10/18 17:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!