- 締切済み
関数の使い方について
関数の使い方についてお尋ねします エクセルのSheet1のA列には人名(太郎、次郎、三郎など。行数は毎回違う。)が記されています。 同じSheet1のB列にはある文字列(cd、cde、cdefなど。行数は毎回違う。)が記されています。 つまり、人名に対して文字列が記されているシートなのですが、 太郎とcd、太郎とcde、太郎とcdefの組み合わせの数は毎回違う数です。 (次郎、三郎も組み合わせの数は毎回違う) この時に、 (1) 太郎とcdの組み合わせが存在する数 (2) 太郎とcdefの組み合わせが存在する数 を求めて、同じファイル内の別のシート(Sheet2)のセルに結果を表示((1)と(2)は違うセルに表示する) したい場合に、最適な関数とその数式を教えていただきたいのです。 SUMPRODUCTとFINDを使い、式を作ってみましたが (2)は検索ワードを”cdef”で検索すればよいのですが、 (1)を求める為の検索ワードとして”cd”を使うと、”cdef”もカウントしてしまい、 思う結果が得られません。 ほかの関数を使うにも、どれが最適なのか判断がつかず、大変苦慮しております。 とても簡単なことかもしれませんが、何卒お力をお借りしたいと思い、質問させていただきますので、 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 =SUMPRODUCT((CONCATENATE(A1:A10,B1:B10)="太郎cd")*1)、=SUMPRODUCT((CONCATENATE(A1:A10,B1:B10)="太郎cdef")*1) 因みにエクセル2007以上なら=COUNTIFS(A:A,"太郎",B:B,"cd")の数式で可能です。
お礼
Sheet2に答えを求める部分を追加しましたが、一番簡単な式でわかりやすいです 朝から貴重なアドバイスをいただき ありがとうございました
- mshr1962
- ベストアンサー率39% (7417/18945)
=SUMPRODUCT((Sheet1!$A$2:$A$100="太郎")*(Sheet1!$B$2:$B$100="cd") では駄目なのですか?(A列が"太郎"でB列が"cd") 含む検索の場合は =SUMPRODUCT((Sheet1!$A$2:$A$100="太郎")*ISNUMBER(FIND("cd",Sheet1!$B$2:$B$100,1))*ISERROR(FIND("cde",Sheet1!$B$2:$B$100,1))) のようになります。(A列が"太郎"でB列が"cd"を含み、"cde"を含まない)
お礼
早々にありがとうございます 確認してみます 大変ありがとうございました
お礼
式の合間にシート名を指定する部分を追加しましたが、 結果を求めることができました 名前と検索したいデータ名を入れるところが ポイントですね ありがとうございました