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

このQ&Aのポイント
  • Excelで特定の文字を含む隣のセルを表示する方法について
  • C列の数値が倍になっている理由についての質問です
  • A列とB列の文字列を含むセルをE列で探し、見つかったら隣のD列の文字列をC列に表示する関数についての疑問です
回答を見る
  • ベストアンサー

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 ●●★××

noname#257796
noname#257796

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

  • ベストアンサー
  • SI299792
  • ベストアンサー率48% (712/1469)
回答No.1

私なら、 C1: =IFERROR(INDEX(D:D,MATCH(A1&"*"&B1,E:E,0)),"") 下へコピペします。 もし6行目のような逆もありなら。 C1: =IFERROR(IFERROR(INDEX(D:D,MATCH(A1&"*"&B1,E:E,0)),INDEX(D:D,MATCH(B1&"*"&A1,E:E,0))),"") 下へコピペします。 この数式はちょっとわかりません。

noname#257796
質問者

お礼

ありがとうございます!

その他の回答 (1)

回答No.2

何故数値計算しているのでしょうか? instrでA列の文字がE列のいずれかにヒットし、 ANDで結んでinstrでB列の文字がE列の同じセルにヒットすれば、 そのE列の行のD列の値を、対象のAB列と同じ行のC列に 表示すればよいだけに思います。 「例」というのが実施したい結果であるならの話ですが・・

関連するQ&A

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

    D列とE列は一覧データです。 C列に関数を入れ込みたいです。 関数について、A列とB列の文字列を含むものをE列で探して、見つかったらE列の隣のD列の文字列をC列に表示するもの。 わかる方がいらっしゃいましたら教えていただきたいです。 例 A列  B列  C列  D列 E列 ○○  ××  111  111 ○○★×× ○○  ××  111  112 △△★◎◎ ○○  ××  111  113 ▽▽★☆☆ △△  ◎◎  112  114 ■■★◎◎ △△  ◎◎  112  115 ●●★××

  • 文字列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)))) と長ったらしく書けば取得できることはわかるのですが、もっと簡潔なやり方がありそうな気がします。 どうか教えてください。

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

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

  • 【エクセル】隣のセルで特定の文字列があったら、表示。

    〔セルC列に関数を入れたいとして、 隣のセル(C1だったらB1)に、 「集計」という言葉があったら、 C1にB1のセル全体を表示しなさい。〕 というだけの関数を入れたいだけなのですが、 IF?,FIND?なんだか、ごちゃごちゃになってしまいました・・・ どなたか何卒、ご指導よろしくお願い致します。

  • エクセル 隣のセルの数値によって文字を表示させる

    こんにちわ。 いろいろ試したのですがいまくいかないので質問させてください。 C1セルに計算式(=B2/A2)が入っていて数値が出ているんですが、 その数値が20より小さいとき、隣のセルD1に「←!!!」 20より大きいときは空白にしたいのです。 今D1に入力しているのは下記の関数ですが↓ =IF(C1<=20,"←!!!","") これでは20以上の数値でも「←!!!」が表示され、 どうしたらいいのかわかりません。 助けてくださいー!よろしくお願いいたします。

  • エクセルで隣のセルの内容によって文字を入れる

    エクセルです。 A列に数値が入っています。 B列にはA列の数値に応じて 文字を入れたいと思っています。 例:左がA列の内容で右がB列に入れたい文字 -1~-2 →A -0.3~-0.9 →B 0.5~-0.2 →C 0.6~1. 2→D -- →-- 上記のような規則でB列に入れる場合のB列に入れる式を教えて下さい。

  • 関数の使い方SUMPRODUCT?DCOUNT?

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

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

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

  • エクセルで、同セル内の「条件付きの文字」のある「数値の合計」を求めるには?

    (エクセル2003使用しております。) 全角文字と半角数字の入力された複数のセルがあります。 同じ文字の含まれたセルの「数値の合計」をそれぞれ求めたいです。 つまりFの列に   F 山田:大阪1 川崎:東京6 山田:名古屋4 という文字が入力されている3つのセルがあるとします。 ここから山田という言葉を選び、さらにその後に続く1と4の数値を合計した数値を求める式が知りたいのです。 (数値は1~10を目安にしております) 過去の似たような質問を参考に文字のセルから数値の合計を入力する関数を探してきました (http://okwave.jp/kotaeru.php3?q=1588802) そちらのm様の回答より 『いろいろな文字があるが、"休"だけを足す場合は、 =SUMPRODUCT(("0"&REPLACE(A1:A5,1,1,))*ISNUMBER(FIND("休",A1:A5)))』 とありましたので、当方は =SUMPRODUCT(("0"&REPLACE(F4:F65,1,1,))*ISNUMBER(FIND("山田",F4:F65))) と入力しましたが、数値を導き出すことができませんでした。 どういう式が考えられるかお力をお貸し頂ければと思います。 宜しくお願いします。 ++++++++++++++++++++++++++++++++++ また数値が複数になった場合(尚も同セル内)にも対応できる式がありましたらお教え願います。 たとえば     F 山田:大阪1東京2 川崎:東京6北海道1 山田:名古屋4静岡2 この場合山田で求めると1+2+4+2で9となる式はありますでしょうか。