エクセルで特定の文字を含んでいる場合の検索方法

このQ&Aのポイント
  • エクセル2003を使用しています。データを集計している際、特定の文字を含んでいる場合の検索方法について教えてください。
  • 現在は「レイト」という文字を含むデータをカウントしていますが、これを「ダブル」もしくは「シングル」が含まれているデータを検索したいと考えています。
  • OR関数を使用しようとしましたがうまくいかないため、正しい使い方について教えていただけますか。
回答を見る
  • ベストアンサー

エクセルで特定の文字を含んでいる場合の検索方法

エクセル2003を使用しています。 データを集計しているのですが、貼付というシートの状態を違うシートで検索をしています。 E5~E1000に検索の対象となる文字が並んでいます。 B5~B1000とAV5~AV1000は今回の質問には関係してきません。 =SUMPRODUCT((ISNUMBER(FIND("レイト",貼付!$E$5:$E$1000)))*(貼付!$B$5:$B$1000=B38),貼付!$AV$5:$AV$1000) 今現在はレイトという文字を含む(前後に文字列が入っています。)ものをカウントしているのですが、 これを「ダブル」もしくは「シングル」が含まれているものを検索をしたいのです。 OR関数を入れてみようとしましたが、うまくはいらず(入れ方が間違っているのでしょう・・・。)苦戦しております。 どなた様かご教授いただけませんでしょうか。 よろしくお願い致します。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

(ISNUMBER(FIND("レイト",貼付!$E$5:$E$1000))) という部分を、 (ISNUMBER(FIND("ダブル",貼付!$E$5:$E$1000))+ISNUMBER(FIND("シングル",貼付!$E$5:$E$1000))>0) に差し替えられて =SUMPRODUCT((ISNUMBER(FIND("ダブル",貼付!$E$5:$E$1000))+ISNUMBER(FIND("シングル",貼付!$E$5:$E$1000))>0)*(貼付!$B$5:$B$1000=B38),貼付!$AV$5:$AV$1000) にされると良いと思います。

ASNASNASN
質問者

お礼

詳しくご回答いただき、ありがとうございました。 助かりました。

その他の回答 (1)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

FIND関数の検索値の部分を以下のように配列定数を指定してください。 ISNUMBER(FIND({"ダブル","シングル"},貼付!$E$5:$E$1000))

ASNASNASN
質問者

お礼

ありがとうございます。 無事に目的の通りにできました。 ありがとうございました。

関連するQ&A

  • 文字列AかBを含むセル数をSUMPRODUCT関数で求める場合

    文字列AかBを含むセル数をSUMPRODUCT関数で求める場合 エクセル2000です。 A1:A10のセル範囲だとして =SUMPRODUCT(ISNUMBER(FIND({"A","B"},A1:A10))*1) とすると、同一セルにA、Bの両方があった場合、重複してカウントされてしまいます。 重複を除外するために、 =SUMPRODUCT(ISNUMBER(FIND({"A","B"},A1:A10))*1)-SUMPRODUCT(ISNUMBER(FIND("A",A1:A10))*ISNUMBER(FIND("B",A1:A10))) と、重複してカウントされた数から両方が存在するセルの数を減じて求めましたが、以下のようなより簡素な式でも求められことがわかりました。 =SUMPRODUCT((ISNUMBER(FIND("A",A1:A10))+ISNUMBER(FIND("B",A1:A10))>=1)*1) この式でなぜAB両方があるセルが重複カウントされないのかどうもわかりません。 ご教示いただければ幸いです。 なお、SUMPRODUCTではなく =SUM(COUNTIF(A1:A10,{"*A*","*B*"}))-SUM(COUNTIF(A1:A10,{"*A*B*","*B*A*"})) でもできることは存じておりますが、今回はSUMPRODUCTの疑問として質問いたしました。

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

    エクセルのワークシート関数で質問です。 「A1セルに、文字列、A、B、Cの何れかを含み、かつCDを含まない」ことを調べる関数です。 素直に、 =AND(ISNUMBER(FIND("A",A1)),ISNUMBER(FIND("B",A1)),ISNUMBER(FIND("C",A1)),NOT(ISNUMBER(FIND("CD",A1)))) と長ったらしく書けば取得できることはわかるのですが、もっと簡潔なやり方がありそうな気がします。 どうか教えてください。

  • Excel 特定の文字を含む時に隣セルを表示した

    D列とE列は一覧データです。 A列とB列の文字列を含むものをE列で探して、見つかったらE列の隣のD列の文字列をC列に表示する関数を組みました。 ・関数 =SUMPRODUCT((ISNUMBER(FIND(A1,$E$1:$E$5)))*(ISNUMBER(FIND(B1,$E$1:$E$5)))*$D$1:$D$5) C列の数値が倍になっている箇所があるのですが理由がわかりません。 わかる方がいらっしゃいましたら教えていただきたいです。 例 A列  B列  C列  D列 E列 ○○  ××  111  111 ○○★×× ○○  ××  111   112 △△★◎◎ ○○  ××  111  113 ▽▽★☆☆ △△  ◎◎  112  114 ■■★◎◎ △△  ◎◎  112    115 ●●★××

  • Excel2003 特定の文字を含まないセルを呼び出す方法

    =SUMPRODUCT((シート名!A$2:A$996=■)*(シート名!V$2:V$996="文字1")*(シート名!AC$2:AC$996))/1000000+SUMPRODUCT((シート名!A$2:A$996=■)*(シート名!V$2:V$996="文字2")*(シート名!AC$2:AC$996))/1000000+SUMPRODUCT((シート名!A$2:A$996=■)*(ISNUMBER(FIND("▲▲▲",シート名!AL2:AL996))*(シート名!AC$2:AC$996))/1000000 「▲▲▲」を含まない、と設定したい場合はどのような関数を使用すればよいのでしょうか・・色々と調べましたが特定の文字を「含まない」とする関数がみあたらないため、方法があればご教授頂きたいですm( _ _)m どうぞ宜しくお願いいたします。

  • ExcelのSUMPRODUCTで文字の入ったセルをカウントする方法

    Excelの関数SUMPRODUCTを使って、以下のような式で文字の入ったセルを カウントしようとしましたが出来ませんでした。 【式】 =SUMPRODUCT((A!E3:E5000="")*(((A!B3:B5000*1>=U52*1)*(A!B3:B5000*1<=V52*1)))) 【式解説】 =SUMPRODUCT((A!E3:E5000="") ←シート「A」の「E3」から「E5000」の範囲で文字が入っているものをカウント。 *(((A!B3:B5000*1>=U52*1) ←「U52」は当週の開始日。(7月1日) シート「A」の「B3」から「B5000」の範囲でこの日付より大きい日を条件にする。 *(A!B3:B5000*1<=V52*1)))) ←「U52」は当週の終了日。(7月7日) シート「A」の「B3」から「B5000」の範囲でこの日付より小さい日を条件にする。 【やりたい事】 ・シートAのE3からE5000の範囲の列で、文字が入ってるセルをカウントしたい。 ・日付の範囲を7月1日~7月7日(週)に指定したい。 この関数でどこを直せばいいでしょうか? 又、他にこうすればいい等アドバイスがありましたら 宜しくお願い致します。

  • VBAの複数条件の検索について

    お世話になります。 VBAでEvaluate("SUMPRODUCT((棚卸!$A$1:$A$300=LEFT(C" & i & ",2))*(ISNUMBER(FIND(LEFT(D$1,3),棚卸!$B$1:$B$300)))*(ISNUMBER(FIND(D$2,棚卸!$C$1:$C$300))),棚卸!$F$1:$F$300)")という構文があります。 現在困っていることは、ISNUMBER(FIND(LEFT(D$1,3)のD$1をE$1、F$1、G$1としたいのですが、どのようにすればよいか分りません。 初歩的な質問で申し訳ありませんが、ご教示のほど宜しくお願いいたします。

  • 関数の使い方SUMPRODUCT?DCOUNT?

    エクセルの関数の使い方についてアドバイスをお願いいたします あるシート(仮にSheetAとする)において B列にあるデータの任意の文字(仮にCとする。文字位置は固定ではない)であって、且つ D列にあるデータの任意の文字(仮にEとする。文字位置は固定ではない)の双方を満たすセルの数を数えて、さらにその結果は同じファイルの中にある別のシート(仮にSheetFとする)に表したいと思います これについては関数SUMPRODUCTと関数FINDを使って導きたいと考えておりました。 =SUMPRODUCT(ISNUMBER(FIND("C",B1:B100))*ISNUMBER(FIND("E",D1:D100))) として同じシート上に結果を表すことはできたのですが、別シートに表すところで、 つまづいてしまいました(おそらく初歩的なミスと思うのですが・・・。) 別のシート名を表す部分をどこに入力したらいいのかアドバイスいただきたく お願いいたします それとも別の関数(DCOUNTなど)を使用したほうがよりベストなのか迷っています DCOUNTの使い方も精通しておらず苦慮しております 調べてみましたが前例を見つけだす事ができませんでした 簡単なことでしたらすみません エクセル2003です どうぞアドバイスのほど よろしくお願いいたします

  • エクセルで検索し別シートに抽出したい。2007

    http://okwave.jp/qa/q6798171.html                                       上記のベストアンサーの方法で試してみましたが上手く行かなかったので、ご教授お願いします。                                                          Sheet1のAからAMにそれぞれ各項目があり、Sheet2はURLベストアンサーの画像と同様になっています。Sheet2の検索項目はO列とP列ですが、後々検索したい項目が増えた時に追加しやすい方法だと助かります。O列は仮名+数字(あ1234)P列は漢字です。                                                              Sheet1のAM2へは下記のようにしました。  =IF(COUNTA(Sheet2!$A$2:$B$2)=0,"",IF(Sheet2!$B$2="",IF(ISNUMBER(FIND(Sheet2!$A$2,B2)),ROW(),""),IF(Sheet2!$A$2="",IF(ISNUMBER(FIND(Sheet2!$O$2,P2)),ROW(),""),IF(AND(ISNUMBER(FIND(Sheet2!$A$2,B2)),ISNUMBER(FIND(Sheet2!$O$2,P2))),ROW(),"")))) Sheet2のA5には下記のようにしました。 =IF(COUNT(Sheet1!$AM:$AM)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$AM:$AM,ROW(A1)))) お手数ですがご教授よろしくお願いします。

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

    セル内の文章から文字を抜出したいです。 文字の書き方は、本当にランダムな並び方をしています。 [例] 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)),"△△","その他"))))) よろしくお願いいたします。

  • エクセル VBA 文字の検索について・・・

    いつも皆様には大変お世話になっております。 今回は文字の検索をしたいのですが障害が多いためうまく動きません .....A....B....C....D....E 1....3...................1月 2........................2月 3........................20000 4........................30000 5........................11111 6........................3月 といったような表があるのですが、 A1のセルに3を入れたときに3月を検索したいのです。 tuki = Range("A1").Value Range("E1:E6").Find(what:=tuki).Activate としてしまうとE4で引っかかってしまいます;; 何かいい方法はありませんでしょうか? よろしくお願いいたします

専門家に質問してみよう