• ベストアンサー

文章内に品番が記載されているセルを検索する

よろしくお願いします。 商品説明の文章が記載されている列があります。 そこに品番を記載しているのですが、複数の品番を変更する必要が発生しました。 該当品番を別シートにリスト化しておりますので、 そのリストの品番が文章内に記載されているか判定させたいのですが、 ネットで検索してもうまくいかず、質問させていただきました。 ご教授いただけるとありがたいです。 やってみた関数 A列=文章 サーチシートA列=品番 B1=IF(ISERROR(FIND(サーチ!$A$1:$A$1000,A1))=TRUE,"×","○") ⇒ ×しか出ない。

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

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

こんにちは! 関数でやる場合の一例です。 B1セルに =IF(A1="","",IF(OR(ISNUMBER(FIND(サーチ!A$1:A$100,A1))),"○","×")) これは配列数式になってしまいますのでShift+Ctrl+Enterで確定! この画面からコピー&コピー&ペーストする場合は 上記数式をドラッグでコピー → B1セルを選択 → 数式バー内に貼り付け → そのまま(編集可能のまま)Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 ※ 「サーチ」Sheetの範囲指定部分には空白セルがないようにしておきます。 範囲指定内に空白セルがある場合はすべてに「○」が表示されてしまいますので、 通常は使用することはないであろう「*」(アスタリクス)等を入力し空白セルをつぶしておきます。 今後検索データが増える場合はアスタリクス部分を新しい検索データにすればそのまま対応できます。 ※ 1セル内に検索データが複数あっても単に「ある」か「なし」かだけの判断です。 質問では「サーチ」Sheetの1000行目まで検索データがあるようですが、上記数式は 「サーチ」Sheetの100行目までの範囲としています。m(_ _)m

kane102
質問者

お礼

ご回答ありがとうございます。 できました・・・ 今日一日悩みつづけていましたので開放感が半端無いです。 勉強不足ですね、本当にありがとうございました。

関連するQ&A

  • Excel セルを取得して入力する VBA

    A列に不特定(毎回違う)データがあります(空白なし)最大10000行 このA列の一番最後(下)の行に合わせてB列に関数を入力したいのですが 上手くいきません プロの方 お願いします B列に入力したい関数です =IF(ISERROR(FIND("--",A2))=TRUE,"2","1")

  • エクセル 関数 ISERROR VLOOKUP

    エクセル関数でご教授お願いします。 今「LIST」シートのA列に品番、B列に単価が入力されています。 これを「入力」シートのA列1行目に品番を入力して、B列1行目に単価を引っぱってくる関数を作りました。 以下関数です。(「入力」シートのB列の関数です) =IF(ISERROR(VLOOKUP(A1,LIST!$A$1:$B$3,2,FALSE)),"品番ミス",VLOOKUP(A1,LIST!$A$1:$B$3,2,FALSE)) 品番が間違っている場合は”品番ミス”と入力されます。 この状態で問題なのは、入力シートのA列に何も入力されていない時に、B列に品番ミスと入ってしまう事です。 何とか、空白にしたいのですがいい方法はありませんでしょうか?

  • セル内の文章から文字を抜出したいです

    セル内の文章から文字を抜出したいです。 文字の書き方は、本当にランダムな並び方をしています。 [例] A1セル あいうえお12345 ↓ B1セル ○○ A2セル かきくけこ456789 ↓ B2セル ■■ いま、下の関数式を入れていますが、5つしか文字を抜き出せません。 せめて倍の10個は抜出したいのですが、どうすればいいでしょうか? =IF(ISNUMBER(FIND("あいうえお",A2)),"OO",IF(ISNUMBER(FIND("さしすせそ",A2)),"■■",IF(ISNUMBER(FIND("かきくけこ",A2)),"□□",IF(ISNUMBER(FIND("たちつてと",A2)),"◇◇",IF(ISNUMBER(FIND("なにぬねの",A2)),"△△","その他"))))) よろしくお願いいたします。

  • エクセルの参照セルがずれないようにしたい!

    エクセルの参照セルがずれないようにしたい! sheet1のC列にデータを入力しており、sheet2には A1に =IF(ISERROR(FINDB("○○",sheet1!C1,1))=FALSE,"△△","××") A2に =IF(ISERROR(FINDB("○○",sheet1!C2,1))=FALSE,"△△","××") A3に =IF(ISERROR(FINDB("○○",sheet1!C3,1))=FALSE,"△△","××") ・ ・ ・ ・ ・ ・ ・ ・ と、計算式を入れています。 sheet1で行の挿入をすると、sheet2の計算式が何故かずれてしまいます。「shhet1!C1,1のところの行番号」 これをずれないようにするにはどうしたらよいのでしょうか? =IF(ISERROR(FINDB("○○",Indirect(sheet1!C1),1))=FALSE,"△△","××")としても行番号はずれるし、期待する結果(sheet1のC列に○○という文字があればsheet2にA列に△△と表示したい。)が返ってきません。 説明が下手でわかりづらいとは思いますが、ご回答よろしくお願いします。

  • エクセルの検索関数について

    エクセルの検索関数について、以下のことで教えてください。 以下のような甲~丁製品データが並んでいます。B列にはチェックボックスを配置し、例えば「丙社製品」を選ぶ場合にB3にあるチェックボックスにチェックしてA3セルが「TRUE」となるようにセットされています(チェックしたチェックボックスは■で表現しています)。チェックされる(TRUEとなる)製品は一つだけです。 <シート名:製品リスト> A B C 1 FALSE □ 甲社製品 2 FALSE □ 乙社製品 3 TRUE ■ 丙社製品 4 FALSE □ 丁社製品 そこで、『本シート内A1~A4中の「TRUE」に該当する製品名(C列の何れか)を拾って』別シートのあるセルに「○社製品」と掲載したいのです。 IF関数でも可能なのですが、製品が7つ以上の場合には使えません。VLOOKUP関数をやってみましたが、A列の「TRUE」「FALSE」がランダムになる為、「昇順」とならず、エラーが出てしまいます。 単純なことなのかもしれませんが、壁に当たっています。 どなたか分かる方がいましたら教えてください。

  • Excel2007 VLOOKUP関数の相談

    もし検索不足で重複した質問でしたら申し訳ありません。 VLOOKUP関数について、シート「A」に文字列を入力したら シート「リスト」シート上に同じ文字列があれば その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。 <使っていた関数> =IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0)) この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、 何故か対象情報の抽出をしてくれません。 <使おうとしている関数> =IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0)) ネットで検索したのですが、関数情報が不足しているのか、 コピーした数字列の貼り付け方が間違っているのかわからない状況です。 恐れ入りますが解決策があればお教えいただければと思います。 どうぞ宜しくお願い申し上げます。

  • エクセルの関数で文字列検索

    エクセルの関数ですが、指定したある特定のセルの中に「任意」または「フリー」という文字列が無かった場合のみ「TRUE」を返してほしいのです。 やってみましたがいまいち自信がもてないので質問しました。 =IF(AND(LEFT(OFFSET(D48,B49,0),2)<>"任意",LEFT(OFFSET(D48,B49,0),3)<>"フリー"),TRUE) と =AND(ISERROR(FIND("フリー",OFFSET(D48,B49,0))),ISERROR(FIND("任意",OFFSET(D48,B49,0)))) はまったく同じ結果となりますか? 異なる結果が返る場合はありませんか? また、両方とも同じ式の繰り返しを使っていますが、もっと簡単に記述できませんでしょうか?

  • エクセルの関数について、変ですか?

    以下の関数をセルに入力したのですが、 エラーというか「入力した数式は正しくありません」とメッセージが出てきます。 どこか変なところありますか? さっぱり分かりません。 =IF(A1=\"\",\"\",IF(NOT(ISERROR(SEARCH(\"a10\",A1,1))),\"####\",IF(NOT(ISERROR(SEARCH(\"b10\",A1,1))),\"$$$$\",IF(NOT(ISERROR(SEARCH(\"c10\",A1,1))),\"%%%%\",IF(NOT(ISERROR(SEARCH(\"d10\",A1,1))),\"$$$$\",IF(NOT(ISERROR(SEARCH(\"e10\",A1,1))),\"$$$$\",\"何それ?\")))))))

  • エクセルの関数について、変ですか?

    以下の関数をセルに入力したのですが、 エラーというか「入力した数式は正しくありません」とメッセージが出てきます。 どこか変なところありますか? さっぱり分かりません。 =IF(A1="","",IF(NOT(ISERROR(SEARCH("a10",A1,1))),"####",IF(NOT(ISERROR(SEARCH("b10",A1,1))),"$$$$",IF(NOT(ISERROR(SEARCH("c10",A1,1))),"%%%%",IF(NOT(ISERROR(SEARCH("d10",A1,1))),"$$$$",IF(NOT(ISERROR(SEARCH("e10",A1,1))),"$$$$","何それ?")))))))

  • エクセル関数で、質問です。

    =IF(ISERROR(MATCH(A2,一覧表!$A$1:$E$1,0)),"","該当あり") という関数で、該当と非該当の2種を判定して、テキストもそのように出したいのですが? (現在は、非該当の場合には、空白なのです) すいません、よろしくお願いします

専門家に質問してみよう