• ベストアンサー

エクセルであやふやな商品名を検索する方法

商品番号   商品名           価格 1111111   Xマスデコ         ¥1000 1111112   Xマスデコレーション    ¥11223 2222222   売れる商品         ¥78888   3333333   売れる商品(限定)     ¥20001 3332222   Xマスに売れた商品     ¥15000  のようなリストで”Xマス”や"商品”んだ商品名を番号、価格 も一緒に表示したいのですが、事務所で使うので ”編集”から”検索”のような方法ではなく、 リストの下に ”探したい商品名または一部を入れてください” ”ここに記入” とさせて検索したいのですが..... うまく表現できなく申し訳ないですが、よろしくお願いします。 また,Xマス、XマスのようにXの全角、半角も問わず 検索する方法はあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です! たびたびごめんなさい。 前回は別Sheetにしてしまったのでよけいに難しくなったようです。 どうも失礼しました。 もう一度画像をアップさせてもらいます。 今回は同一Sheetでデータ量は表の通りとします。 前回同様作業用の列はひとつ使わせてください。 ↓の表のD2セルは =IF($B$11="","",IF(COUNTIF(B2,"*"&$B$11&"*"),ROW(A1),"")) として、7行目までオートフィルでコピーします。 A12セルは =IF(COUNT($D$2:$D$7)>=ROW(A1),INDEX($A$2:$A$7,SMALL($D$2:$D$7,ROW(A1))),"") B12セルに =IF($A12="","",VLOOKUP($A12,$A$2:$C$7,COLUMN(B1),0)) とし、C12セルまでオートフィルでコピーします。 最後にA12~C12セルを範囲指定し、 C12セルのフィルハンドルで下へコピーすると画像のような感じになります。 これでB11セルにある文字を入力すると前回同様その文字列を含む商品一覧が表示されるはずです。 どうも何度もごめんなさいね。m(__)m

takezo__39
質問者

お礼

再度有難うございます。 まさにこんな感じのを希望してました。 作業列の意味は勉強します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

良く質問にでる、関数での検索・抜き出し問題です。 関数では複雑になってややこしい。 普通はエクセルでは、フィルタオプションの設定などで対処するのが前提ですが、質問者には関数好きが多くて。 ーー 抜き出し問題は Googleで「imogasi方式」で照会すれば、私が回答した、たくさん質問と回等が出る。作業列を使いますが ーー 例データ A、B、C列と作業列E列(どこでもよい。式は変わるが) コード 商品 価格 該当連番 1111111 Xマスデコ \1,000 1 1111112 Xマスデコレーション \11,223 2 2222222 売れる商品 \78,888 3333333 売れる商品(限定) \20,001 3332222 Xマスに売れた商品 \15,000 3 (検索語) A8(見出し),A9(入力),A10(関数で変形) Xマス Xマス A10の式 =ASC(A9)  ==>門司を半角化 ーー E2の式は =IF(OR(NOT(ISERROR(FIND($A$9,B2))),NOT(ISERROR(FIND($A$10,B2)))),MAX($E$1:E1)+1,"") 下方向に式を複写。 結果 上記E列 ーーー A12の式 =INDEX($A$1:$C$8,MATCH(ROW()-11,$E$1:$E$8,0),COLUMN()) C列まで式を複写。 11を引いているのはA12に式を入れているから。抜き出し結果を置く行によって、ここが1になるよう調整する。 A12:C12を3行下方向に式を複写 ーーー 結果 1111111 Xマスデコ 1000 1111112 Xマスデコレーション 11223 3332222 Xマスに売れた商品 15000 式を何行複写すべきかは、データ次第だが、余分目の行数に式を複写する。式を複写する行が多すぎると#N/Aが出る。これを防ぐには E列のMAXよりその行が大きくないか、大きければ空白、というIF関数をかぶせる。Googleのimogasi方式の例参照。

takezo__39
質問者

お礼

有難うございます。 ”抜き出し問題”というんですね。 紹介されたimogasi方式を参照して 勉強します。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 全角・半角というのはあくまで日本語限定ですので 対応は難しいと思います。 英字の大文字・小文字に関しては問題ないかもしれません。 それを踏まえたうえでの回答のなります。 参考になるかどうか判りませんが・・・ ↓の画像のように表を作ってみました。 元データSheet1で、商品名の一部をSheet2のB2セルに入力すると その商品の一覧が表示される方法です。 Sheet1・Sheet2とも作業用の列を使わせてもらっています。 Sheet1の作業列D2セルに =IF(Sheet2!$B$2="","",IF(COUNTIF(B2,"*"&Sheet2!$B$2&"*"),ROW(A1),"")) として、オートフィルで下へコピーします。 Sheet2の数式が1000行まで対応できるようにしていますので 1000行目くらいまでコピーしても構いません。 次にSheet2の作業列A2セルに =IF(COUNT(Sheet1!$D$2:$D$1000)>=ROW(A1),INDEX(Sheet1!$B$2:$B$1000,SMALL(Sheet1!$D$2:$D$1000,ROW(A1))),"") とし、これも1000行目くらいまでオートフィルでコピーします。 C2セルに =IF(A2="","",INDEX(Sheet1!$A$2:$A$1000,MATCH(A2,Sheet1!$B$2:$B$1000,0))) D2セルに =IF(C2="","",VLOOKUP($C2,Sheet1!$A$2:$C$1000,COLUMN(B1),0)) とし、D2セルのフィルハンドルでE2セルまで数式をコピーします。 最後にD2・E2セルを範囲指定し、E2セルのフィルハンドルで 下へコピーすると画像のような感じになります。 これで何とか希望に近い形にならないでしょうか? 以上、参考になれば幸いですが、 的外れなら無視してくださいね。 どうも長々と失礼しました。m(__)m

takezo__39
質問者

お礼

こんばんは、 有難うございます。 私のレベルでは、少々難しいのですががんばって 理解します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • excelシート内で半角文字を検索したい

    win2000 excel97です 住所リストを加工したいのですが半角全角混在しています その後の処理の問題があり 半角←→全角の置換をせずに半角文字を検索し その列にフラグを立てたいのですが 半角文字を見つける方法がわかりません どなたかご存知でしたらお教えください よろしくお願いいたします

  • エクセルVBAでの検索機能です

    エクセルのVBAでリストの検索をしたいと思います エクセルは2002です 下記のリストで、例えばA2からB5のリストの中からE2に検索項目商品“A”と入力したら、G2に検索結果のすべての商品名と価格を貼り付けるようにするには、どうすれば良いか教えてください。 宜しくお願いします。 |―|-A-|-B-|-C―|-D-|-E-|-F―|-G-|-H-| |1|商品|価格|――|――|検索|――|商品|価格| |2|-A-|\300|――|――|――|――|――|――| |3|-B-|1000|――|――|――|――|――|――| |4|-A-|\350|――|――|――|――|――|――| |5|-C-|1500|――|――|――|――|――|――| 

  • エクセルでデータベースの検索と抽出(?)

    エクセル2007を使用しています。 まずエクセルで作られたデータベースがあります。データベースには、管理番号、顧客名、商品の管理番号、商品名、価格が入っています。 このデータベースとは別に、検索(抽出)用のエクセルを用意しています。 そこで、管理番号を入れたら、顧客名、商品名、価格のみが1行(横)に表示されるようにしたいです。 クエリを利用してやると一つずつ顧客名、商品名、価格を選んで…という風に時間がかかります。 例えば、管理番号の列(縦)に番号を入れて、ボタンを押すとか、実行(F9)すれば、管理番号を入れたすべての行に、データベースから検索した顧客名、商品名、価格が入力されるようにしたいのです。(管理番号の重複はありません) クエリで一個ずつ選んでいくのをマクロ登録するしかないのでしょうか?

  • エクセルVBA:文字列での検索

    エクセルVBAで、在庫管理をしようとしています。初心者です。 4個のListboxをそれぞれ選んでいくと、任意の商品名になるようにしています。 そこで、選んでもらった後、 Listbox1.List(Listbox1.ListIndex) & Listbox2.List(・・・・ というように4個のListboxから選ばれた文字列をつなぎ、別シートの在庫データベースの「商品名」と「Listboxをつなぎ合わせた文字列」と同じのを探させて、在庫を引き落とすようにしています。 ですが、できる場合とできない場合があります。 何ででしょう? 文字列で突き合わせると、見た目が同じ場合でも違うと認識されることがあるのでしょうか?(半角全角が違うとか、最後にスペースが入っているとかはないです。試しにセルに貼り付けてvlookupで検索してみると、できました。)

  • エクセルで検索して移動???

    エクセルで伝票番号から商品の詳細を検索したいです 編集の検索を使わずにあるひとつのセル(検索用)に伝票番号を入れるとその番号の列にカーソルが移動するような方法を教えてください

  • ネットでの検索の仕方

    Yahooや、Google、Yahooオークションなどでいろいろなものについて、検索するのですが、上手く検索する方法を教えてください。 たとえば、ヤフオクなどで商品を調べるとき、 「X ファイル」全角空け 「X ファイル」半角空け 「Xファイル」半角英字 「Xファイル」全角英字 これらの検索方法の違いで、ヒットする商品も違うのですが、それぞれ何がどう違うのか、考えているとごちゃごちゃになって訳が分からなくなってきました。 検索はどういう条件でどういう風にヒットするものですか? それから、何か上手に検索する裏技?とかありましたら是非教えてください。

  • エクセルを用いて商品データを処理しています。

    エクセルを用いて商品データを処理しています。 ある特定の列に「-(ハイフン)]が含まれるものがあり、 その行を毎回手作業 検索などで見つけて その後 その行をコピーしたりしてなど下記処理を行っているのですが、 この作業をVBAなどで簡単に行える方法を教えて下さい。 ・行数は毎回不定。 ・列の数は固定で特定文字が含まれる列も毎回同じ。 ・特定の列には半角英数で製品の管理番号が入っており、  例えば0001とか00466など入っていて、その中で0001-0023みたいに[-]で  くくられたものを探して、その行をコピーしてから  上の行(元々の行)の特定文字が入っていた箇所に前の製品番号(0001)、  コピーして挿入した次の行にはうしろの製品番号の0023を列に入れ  それ以外の内容はもともとの行の内容をコピーしたものにする。 列の項目は、左から管理番号,商品名,管理番号,数量・・・固定項目で30項目ぐらい それぞれの行に半角8桁,全角半角混在,半角英数と一部に-くくり,半角・・・ 行数は処理するカテゴリによって増減あり。 このC列の管理番号に含まれる[-]でのくくりをバラバラにして処理みたいな感じです。 この繰り返しを行う方法です。 もちろん条件書式などで色つけしたりして探してはいるのですが、 コピーして書き換えて・・・の処理が多いので大変困っているのでお願い致します。

  • ACCESS:半角、全角空白スペースを含む文字列の検索

    Access2003にて、空白、全角スペースを含む文字列の 検索を行う方法について教えて下さい。 他社から送られてきた検索用のリスト(xls形式)を元に、 商品の検索を下記のフィールドから行っています。 商品フィールドに商品名が約30万行格納されています。 格納されている商品名は間に 半角スペース、全角スペース、スペース無し など不規則な入力になっています。 (例:東芝除湿機、日立 掃除機、Canon 複合機…) 商品名の検索時に文字列の半角スペースと全角スペースの 指定が異なっていると検索が行えないため困っています。 (例:Canon 複合機で検索時、格納データはCanon 複合機のため検索結果なしになる) テーブルのスペースを統一、もしくは削除する方法などありますでしょうか。 皆様のお知恵をお貸し下さい。 なお、クエリでtrimを使用したスペースの削除は行ったのですが、 検索時に頻回にErrorが出るようになり断念しました。

  • 商品名のみ検索ワードを含むものを表示させる方法

    爽快ドラッグ内の検索で、 商品名に検索ワードを含まなく、説明書きに検索ワードを含む商品が出てきてしまいます。 商品名のみ検索ワードを含むものを表示させる方法はありますか? 例えば、 http://www.soukai.com/searchword_ibuPz5CF_/Zp/li.html?gs=1 のように化粧水で検索をかけてるのに、 コットンなどもヒットします。

  • エクセル 置換について

    エクセルの中での置換方法を知りたいので、分かる方は回答をお願い致します。 例えばシート1に9ケタの番号が100個あり、その番号には1つずつ異なる商品名が付いています。 シート2には同じく9ケタの番号が200個あり、その番号には異なる商品名が付いています。シート2にはシート1の商品が全て含まれていますが、その他にも違う番号の商品が100個入っている状態です。 やりたい事は、シート1に記載されている商品名がシート2に記載されている商品名と合致していなかったら、シート1の商品名に合わせたい(置換したい)ということです。 どのようにしたら出来ますでしょうか? ちなみに、9ケタの番号は全て数字 商品名は全て英語です。 この場合は半角と全角も合わせておく必要がありますよね? 宜しくお願い致します!!

このQ&Aのポイント
  • ノートパソコンの無線キーボードの一部のキー(5,6,BS,delなど)が入力できません。再起動しても問題が解消されず、別のノートパソコンでも同じ現象が発生しています。
  • エレコム株式会社の無線キーボードの一部のキーが使用できません。再起動しても問題が解決せず、他のノートパソコンでも同じ状況が起きています。
  • 無線キーボードの5、6、BS、delなどの一部のキーが反応しません。再起動しても問題が解消されず、異なるノートパソコンでも同じ異常が発生しています。
回答を見る

専門家に質問してみよう