• 締切済み

COUNTIFの複数条件指定について

Excelにて社内資料を作成しています。 COUNTIFの複数条件指定をしたいのですが難しく(汗) 詳しい方がいらっしゃいましたら教えてください。 【要望】 貼付の表の様に、 「A~Dは入力欄、J・H・IはA~Dに入った内容を持ってくる」 という内容にしたいです。 ◆A⇒Jはそのまま ◆B⇒Hもそのままです。 問題はIに入る内容です! Iには、 ⇒Dに「プラン」もしくは「キャンペーン」という表現が入ったらC+Dの内容を入れる ⇒Dに「プラン」もしくは「キャンペーン」が入らなければCの内容のみを入れる です! 【Dに「プラン」という表現が入ったらC+Dの内容を入れる】 という計算式は、 =IF(COUNTIF($D2,"*"&"プラン"&"*")>=1,CONCATENATE($C2,"※",$D2,),$C2)で設定できました。 「プラン」もしくは「キャンペーン」と設定する場合の方法を教えていただけますと幸いです。 よろしくお願いいたします。

みんなの回答

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.8

>プラン」もしくは「キャンペーン」と設定する場合の方法を教えていただけますと幸いです。 COUNTIF関数は不適当と思います。 IF関数の論理式にMMULT関数を使い、その中で文字列の比較をFIND関数とIFERROR関数を組み合わせれば分かり易くなるでしょう。 =IF(MMULT(IFERROR(FIND({"プラン";"キャンペーン"},D2),0),1)>0,D2,C2) この数式は列方向(縦)にコピーできますが、行方向(横)にコピーする場合は列記号の先頭に$マークを付けてセル番地の変化を防止してください。 尚、仕事に応用する事案をこのサイトへ質問するのは甘えすぎかと思います。

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

#4です。 すみません、途中であった回答に、追加して、 I列の関数を、小生の挙げた実例では、 =IF(ISERROR((FIND("プラン",$D1)<>0)*(FIND("キャンペーン",D1)<>0)),C1,C1&D1) のようにする。 でもややこしいですね。関数では、式が長くなって、苦労します。 ちなみに、SERCH関数もFIND関数と似ていますが、短くは、ならないようです。

回答No.6

こんなのはいかがですか =IF((COUNTIF($D2,"*"&"プラン"&"*")+COUNTIF($D2,"*"&"キャンペーン"&"*"))>=1,CONCATENATE($C2,"※",$D2,),$C2) IF関数の条件式を二つ用意して足しています。 どちらかが1を返せば1以上になるので”OR”条件を満たします A条件真→1 B条件真→1 (A+B=2) >=1 真  A条件真→0 B条件真→1 (A+B=1) >=1 真  A条件真→1 B条件真→0 (A+B=1) >=1 真 A条件真→0 B条件真→0 (A+B=0) >=1 偽 な感じです 質問の式の条件部分を変形させただけなので 質問者にはこれが一番わかりやすいのでは

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.5

列記号の順序が間違ってますが、… =IF(COUNTIF(D2,"*キャンペーン*")+COUNTIF(D2,"*プラン*"),C2&"※"&D2,C2) で如何ですか?

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

COUNTIFやCOUNT関数はセル範囲の中で、該当のものを探す関数で、質問者はエクセル関数の誤解をしているようだ。 ーーー 1セルの値の文字列の中(一部分)で、語句(文字列)が含まれているかどうかは、FIND関数だろう。 D列 例データ xxプランyyキャンペーン xxプランyy xxプリランyyキャンペーン xxyyキャンペーン xxプランナー募集 xxyy大キャンペーン xx第プランyyキャンペーン xxプラyyキャン xxプラランyyキャンペーン セルG1の式 =IF(AND(FIND("プラン",D1)<>0,FIND("キャンペーン",D1)<>0),"Z","") セルH1の式 =IF(FIND("プラン",D1)<>0,"Z","") セルI1の式  =IF(FIND("キャンペーン",D1)<>0,"Z","") 結果 G1:I9 Z Z Z #VALUE! Z #VALUE! #VALUE! #VALUE! Z #VALUE! #VALUE! Z #VALUE! Z #VALUE! #VALUE! #VALUE! Z Z Z Z #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! Z このG列の式によって、Zに当たる場合 I列の内容を決める式を組み立ててください。 今時間がないのでとりあえず。 でももっと簡単な式がないかな。 ーー 上記HとI列のIF文の結果のTrue*True(掛け算)をして、1の時は両条件を満たしている場合で、それ以外は満たさない風に式を書けば良いかも。

  • q4330
  • ベストアンサー率27% (767/2786)
回答No.3

=IF(OR(D1="プラン",D1="キャンペーン"),C1&D1,C1) これでできます

  • kon555
  • ベストアンサー率52% (1754/3367)
回答No.2

 既に『【Dに「プラン」という表現が入ったらC+Dの内容を入れる】』が実現できているなら、入れ子構造にすれば実現できます。 https://www.becoolusers.com/excel/nested-functions.html https://www.itc.u-toyama.ac.jp/el/spreadsheet/if_2.html  難しく考える必要はなく、今の条件分岐の偽の場合に、もう一つ条件判定を入れれば良いです。

noname#252332
noname#252332
回答No.1

 難しいことができないときは簡単なことをたくさんやってはどうですか。 Dにプランが入っていたらKにDを、そうでないときは0を入れる。 Dにキャンペーンが入っていたらLにDを、そうでないときは0を入れる。 IにC+K+Lを入れる。

関連するQ&A

  • 条件1つで複数の値を抽出することはできませんか。

    エクセルのことなのですが、条件1つで複数の値を抽出してきたいと思っています。 しかし、様々な本やインターネットのサイトを参照したのですがうまくできません。 内容なのですが、「シート1」というシートがありこのシートを「シート2」のように番号で分けて、横に並べるようなシートを作りたいと思っています。 シート1 番号 品目 100 A 100 B 101 C 101 D 101 E 101 F 101 G 101 H 101 I 102 J 103 K 103 L シート2 番号 品目 100 A B 101 C D E F G H I 102 J 103 K L すみませんが教えていただけないでしょうか。 よろしくお願いします。

  • COUNTIF 関数について

    エクセル関数(COUNTIF)を教えてください    例題   勤務  氏名 1 日勤   A 2 日勤   B 3 公休   C 4 特休   D 5 日勤   E 6 年休   F 7 日勤   G 8 公休   H 9 日勤   I 10 特休   J A列に勤務、B列に氏名が入力されています 質問の関数でCOUNTIF(A5:A10、"日勤”)ですが ”E”さんの位置より後に”日勤”が何人いるかをカウントしたい 計算式のA5の値を自動的に判別した計算式にしたい(Eさんの位置が変動するためにA5が固定できないためです) 以上よろしくお願いいたします

  • COUNTIF関数の複数条件

    COUNTIF関数の複数条件 土日祝日も交代で勤務するシフト表を作成しています。 その月に土日祝の休みが何回あるか数えたいです。 SUMPRODUCT関数を試しましたが上手くいかないので助けてください。 ※祝日の一覧AR1:AR15に入っています。(2010/4/19など)   A B C D E F G H~AE 1 1 2 3 4 5 6 7 8~31・・・日付 =DATE(2011のセル,4月のセル,1) 2 月 火 水 木 金 土 日 月~火・・・曜日 =TEXT(A1,"aaa") 3 休 出 出 出 休 休 出 出~休・・・出勤or休 =SUMPRODUCT((A2:="日")*(B6:AE6="休")) でまずは日曜日だけは出来ました。 それに土曜日と祝日を組み合わせて計算したいです。 土曜日だけなら単純に足し算でもできますが、祝日が・・・汗 COUNTIF関数を更に足す・・・?! 年度末が迫り焦り気味ですがどなたかお願いします

  • EXCELでCountif内に2つ以上の列を入れる場合

    0 A、B、C、D 1 a、1、h、2 2 b、0、i、1 3 c、1、j、2 4 d、0、k、1 5 e、1、l、0 6 f、0、m、2 7 g、1、n、0 上の用にaからnチームまでの得点表があります。 1点を得点したチーム数を計算するときに countif(B:B,"1">+countif(D:D,"1") を使うと実際にでるのですが、Countifを一つだけ使用して範囲の部分をB列からD列という形ではなくB列のみとD列のみの中から探すように指定するにはどうしたらいいのでしょうか? countif(B:D,"1")とやったのですが、こうするとB,D列だけでなくC列もカウントされてしまいます。今回はC列に数字がないので問題内のですが、チーム名で1の入るチームがあると計算がくるってしまうと思います。B列のみD列のみと指定する仕方を教えてください PS 一列にすべてを書けば問題ないのですが、列を分けることでスクロールせずに見ることができ見やすいと思い、複数列にしました。

  • COUNTIF に変数を指定する方法

    01 02 03 04 05 06 03 07 03 上記のようにセルに入力されている値に指定した値がいくつ含まれるかをカウントする場合、"=COUNTIF(A1:I1,"=03")"のように左に"=03"と定数を指定しますが、03の部分でセルを参照する方法は無いのでしょうか? =COUNTIF($C2:$G2,"='A3'")のように指定しましたが、A3 がうまく機能しません。

  • COUNTIF

    A列に「a」「b」の文字と、空白のセルがあります。「a」の数を数えたいのでcountif関数で求めました。  =COUNTIF(A2:A26,"A") B列、C列と同じように「a」「b」の文字と、空白のセルがありますが、D列はすべて空白です。 空白のときは「0」ではなく、何も表示されない状態にしたいのですが、IFをうまく組み合わせた式を教えてください。 よろしくお願いします。

  • COUNTIF関数で数式の指定

    よろしくお願いします。 A1~A40に40人のクラスの数学の点数が100点満点で出席番号順に入っているとします。 B1~B40には、同じクラスの国語の点数が「40点満点」で出席番号順になっているとします。 以下、C列は理科が60点満点...などとなっているとします。 各科目で、満点の60%~70%の点数を取っている生徒の人数を数えたいとします。 そこで私は、A41に=100*0.6 、 A42に=100*0.7 B41に=40*0.6、B42に=40*0.6...とC列以降も計算しておきました。 そしてA43のセルにCOUNTIF(A1:A40,">=A41")-COUNTIF(A1:A40,">=A42")としてみましたが、 実際は数人いるにもかかわらず0人となってしまいました。 ">の後にはセルを指定することはできず、 必ず数値をでなければならないのでしょうか? 長々とした質問でうまく表現できているか心配ですが、よろしくお願いします。

  • 特定の条件で、指定の文字を含んだセルの数を数えたい

    条件に合ったセルを数え、さらにその行に指定した文字が含まれているセルの数を数えたいです。 if関数で試してみたり、countifやsumifなどでも試してみましたが、どうも希望通りになりません。 ご教授いただきたいです。 よろしくお願いいたします。 C列に F列から作業を選択し入力されます。 H列に C列の作業カウントが入ります。(ここはcountifでできました。) やりたいことは、 I列に C列の作業でD列に「NG 」となっている作業の数を数えたいです。 (本来ですとD列は「NG **さん」と文字が続きます。 答えとしては、 i3に 「1」 i4に「2」 i5に「1」 と表示させたいです。 よろしくお願いします。

  • Excel 複数検索条件について

    ついさきほど別の質問をさせていただいて立て続けですみません。 Excelでレポートを作成したいのですが、関数がよくわからずにいます。 A B C D ---------------------------------- 1 月 車番 発地 行先 2 1 001 OSAKA TOKYO 3 3 010 NARA SHIGA 4 6 103 TOKYO FUKUOKA こういう感じでA2:D500まであります。 たとえば、「3月」の「車番001」の「大阪発」の「東京行き」のデータ個数を数えたい場合、DCOUNTA関数を使って H I J K ---------------------------------- 1 月 車番 発地 行先 DCOUNTA(A1:D500,,H1:K1)としてみました。 しかし、「大阪発かつ京都発」としたい場合、セルJ2に京都を入れてDCOUNTA(A1:D500,,H1:K2)とすると期待した数字がかえってきませんでした。おそらくH2, I2, K2が空欄だからかなと予想しています。 こういう風に条件となる項目の数が異なる場合に、すべてを満たす満たす個数を調べたい場合はどうすればいいでしょうか。 フィルタを使うよりもなんとか関数でできないでしょうか。 わかりにくくてすみません。補足しますのでよろしくお願いします。

  • 【エクセル】離れたセルのCOUNTIF関数

    こんにちは。 エクセルのCOUNTIF関数についての質問です。 各セルに以下のような数値が入っている表で・・・  A=10  B=00  C=20   D=30   E=00   F=40   G=50  AとCとEとGのセルを選択し、0以外のセルの個数を数えるとき COUNTIF関数で =COUNTIF(A,C,E,G,"<>0") という数式を立てたのですが、エラーとなってしまいました。 最終的には =((COUNTIF(A,"<>0")+(COUNTIF(C,"<>0")+(COUNTIF(E,"<>0")+((COUNTIF(G,"<>0")) という数式をたてて計算は出来たのですが、もっと簡単(?)な式はあったりするのでしょうか? ご存知の方がいらっしゃいましたら是非お教え下さい。

専門家に質問してみよう