Excel関数で複数条件を指定する方法

このQ&Aのポイント
  • Excel関数を使用して複数条件を指定する方法について説明します。
  • セルA1に特定の文字列が含まれている場合に、指定した値を返す方法を紹介します。
  • りんご、バナナ、みかん、キウイ以外の場合には別の値を返すように設定することもできます。
回答を見る
  • ベストアンサー

Excel関数で複数条件を指定する方法

Excelで条件を指定して、決まった値を返したいのですが、複数条件の方法がわかりません。 セルA1に入力された文字列に、 【りんご】という文字が含まれている場合はE列に「100」と表示させ、 【バナナ】【みかん】【キウイ】のいずれかが含まれている場合は「0」と表示させ、 上記以外の場合「500」と表示させたいです。 A列が検索したい文字列が入力される列で、E列に結果を表示。 検索する文字列は部分一致で、完全一致ではありません。A1に「青森りんご」と入力されたらE1に「100」と表示させたいです。 条件で書いた2段目の候補は10個程度あり、「上記以外」の候補は1000以上あります。 IF(COUNTIF(A1,"*りんご*"),"100",IF(COUNTIF(A1,"*バナナ*"),"0","500")) 上記のように自分で考えてみて、りんご・バナナ・それ以外 であればできたのですが、バナナのとことを複数指定する方法がわかりません。 他のやり方でも結構ですのでどうすればいいかわかる方宜しくお願いします。

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

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

>上記のように自分で考えてみて、りんご・バナナ・それ以外 であればできたのですが、バナナのとことを複数指定する方法がわかりません。 内側のIF関数を工夫すれば目的に合う数式になります。 IF(COUNTIF(A1,"*バナナ*"),"0","500")        ↓ IF(OR(COUNTIF(A1,"*バナナ*"),COUNTIF(A1,"*みかん*"),COUNTIF(A1,"*キウイ*")),"0","500") OR関数は複数の条件の何れかがTRUEのときTRUEを返しますので必要な条件を列記すれば目的を達成できます。 但し、提示の数式内では結果の値を文字列("100"、"0"、"500")にしているので数値にするときは下記のように数値を""で括らないようにしてください。 =IF(COUNTIF(A1,"*りんご*"),100,IF(OR(COUNTIF(A1,"*バナナ*"),COUNTIF(A1,"*みかん*"),COUNTIF(A1,"*キウイ*")),0,500))

beach_ch
質問者

お礼

ご回答いただきありがとうございます。 教えて頂いた方法でやりたい事ができました!! しかも返す値は数値にしたかったので、そのアドバイスまで頂けて感激しました。とても参考になりました。ありがとうございました。

その他の回答 (4)

  • Chiquilin
  • ベストアンサー率30% (94/305)
回答No.5

=500-SUM(COUNTIF(A1,"*"&{"りんご","バナナ","みかん","キウイ"}&"*")*{400,500,500,500}) でどうですか?

beach_ch
質問者

お礼

ご回答いただきありがとうございます。 今回500に指定したいワードが無数にあって全てを指定することはできないので、今後指定ワードが限られた場合に活用させて頂こうと思います!

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.3

図を添付し忘れました(^^;

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.2

候補名と点数の表を別に作っておきます。 添付の図の例では、G2:H8にその表があります。 E2セルには↓の式を入れ、Ctrl+Shit+Enter で、配列数式として確定します。 =OFFSET(H$1,-1+10^4-MAX((10^4-ROW($G$2:$G$8))*ISNUMBER(FIND($G$2:$G$8,$A1))),0) 確定したE2セルを下方向にコピーしてください。 式の説明をすると面倒なのですが、式中の↓の部分で、A列の文字列がリスト中のどの候補が含まれているかを出しています。 10^4-MAX((10^4-ROW($G$2:$G$8))*ISNUMBER(FIND($G$2:$G$8,$A1)))

beach_ch
質問者

お礼

再度のご回答ありがとうございました。 画像まで添付していただいてわかりやすかったです。 試してみたのですが、教えて頂いた方法だと、確定している条件以外の全てをリスト化しなければいけませんよね?(500に当たるワードが無数にありますので)今回はそれが無理でしたので期待した結果は得られませんでした。 ですがまた別の機会で利用させて頂こうと思います! ありがとうございました。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.1

条件が良くわかりません。 ・「りんごバナナ」の様に複数の候補が含まれている場合はどうします? ・候補に、「ライチ」「イチゴ」があるとして、A列の文字列が「ライチゴ」だった場合どちらが含まれていることになる? ・A1の文字列だけが対象?それともA1、A2と対象文字列が複数あって、E1以下に検索結果を表示したい?

beach_ch
質問者

お礼

すみません間違いがありました。 検索対象は同一行です!、

beach_ch
質問者

補足

ありがとうございます。補足致します。 今日仕入れた果物のリストが別のbookにあり、果物名のデータをA列に貼り付けた時に、果物別に加点をしたいのです。 ・「りんごバナナ」の様に複数の候補が含まれている場合はどうします? 1つのセルに複数の候補(果物名)が混ざることはありません。 ・A1の文字列だけが対象?それともA1、A2と対象文字列が複数あって、E1以下に検索結果を表示したい? 検索対象は同一列だけです。 A E 1 青森りんご 100 2 完熟バナナ 0 3 青森みかん 0 4 りんご一級 100 5 あまおうイチゴ 500 こんなイメージです。 説明がわかりづらくてすみません。

関連するQ&A

  • COUNTIF関数で、複数条件の指定

    COUNTIF関数で、複数の条件を指定することはできるのでしょうか? A列が"root" かつ E列に"1"と入力されている行を数える。 ということをやりたいのですが、うまくいきません。 実際に使えませんが、イメージは COUNTIF(A:A,"root") and COUNTIF(E:E,1) のような事をやりたいです。 どのようにしたら良いでしょうか? ご教授下さい。

  • Excel 関数で多数の複数条件・OR条件を指定

    こんにちは。Excelのことでわからない事を教えてください。 該当セル内に複数条件を指定して、いずれかが当てはまれば指定した文字列が表示されるようにしたいのですが、その条件が100個くらいになってしまいます。 例えば、 A1セルに【AAまたはBBまたはCC】が入力されたらC1セルに【ああ】と表示する。 A1セルに【DDまたはEEまたはFF】が入力されたらC1セルに【いい】と表示する。 A1セルに【GGまたはHHまたはII】が入力されたらC1セルに【うう】と表示する。 というようなことをしたいので、私は、C1セルに以下のような関数を作りました。 =IF(OR(COUNTIF(A1,"*AA*"),COUNTIF(A1,"*BB*"),COUNTIF(A1,"*CC*")),"ああ",IF(OR(COUNTIF(A1,"*DD*"),COUNTIF(A1,"*EE*"),COUNTIF(A1,"*FF*")),"いい",IF(OR(COUNTIF(A1,"*GG*"),COUNTIF(A1,"*HH*"),COUNTIF(A1,"*II*")),"うう","")) それで、その指定したい条件が100件くらいになってしまうのですが(指定するワードが100個という意味です)、地道に作っていくしかないのでしょうか。もっとスマートなやり方はありますか?ワードは今後追加もしくは削除していく可能性があるので、こんな作り方でいいのか悩んでいます。 そもそもこのようなものをExcelでやろうとするのは間違いですか? 皆様のお知恵を拝借したいと思います。アドバイス宜しくお願いします。

  • 複数条件でcountif以外を使う方法

    色々質問を探して考えてみたのですが、どうしてもわからないので質問させてください。 果物にそれぞれ商品コードがあり、 A列に果物の名前を入力すると、B列に商品コードが入力されるような式をB列に入れています。 【表】     A          B 1   品名       商品コード     2 みかんを購入     0010   3 りんごをもらう     0020 4 ぶどうを捨てる     0030 【式】 B列に入力 =If(countif(A:A,"*みかん*",0010),if(countif(A:A,"*りんご*",0020),countif(A:A,"*ぶどう*",0030,""))) 検索値が文字の上、文章の中から拾っているため上記の関数を使っていたのですが、 最近果物の数とそれに対する商品コードが増えたため、上記の式では多すぎて入力できません。 お手数ですが、どなたかお分かりになる方ご回答お願いします。

  • 複数の指定範囲と複数の検索条件を検索表示

    Excel2000で、COUNTIFのように指定された範囲に含まれるセルのうち、検索条件に一致するセルの個数表示したいのですが、複数の指定範囲と複数の検索条件を検索表示するにはどうすれば良いでしょうか? 例えば セル Q1,Z1,AI1,AR1,BA1,BJ1にQ1 から順に "リンゴ"、"オレンジ"、"バナナ"、"リンゴ"、"みかん"、"バナナ" と入力されてる場合"りんご"、"みかん"の合計を数を表す何か良い方法はありませんでしょうか? イメージ COUNTIF(範囲1・範囲2・範囲3・範囲4・範囲5・範囲6, "検索条件A"・"検索条件B") COUNTIF(Q1・Z1・AI1・AR1・BA1・BJ1, "リンゴ"、"みかん") = 3

  • EXCEL関数について教えてください

    一覧表から条件一致の数を数える関数。 一つの範囲を指定して、その中から条件に一致するセルを数えるには COUNTIF関数を使いますが、 別々の範囲の中から、各々一つずつの条件に一致するセルを数えるには どうしたら良いでしょうか? 例えば、A列の○○という条件に一致して、なおかつE列の△△にも一致する セルの数を数えたいのですが。。。 分かりにくくてすみません。

  • Excelで複数条件を満たし残高を計算する関数

       A列     B列  C列     D列     E列  F列    日付     No. 商品名  仕入/販売  金額 残高 1  2010/12/1  101  りんご   仕入  ¥1,000    ¥- 2  2010/12/2  101  りんご   販売  ¥1,000    ¥- 3  2010/12/3  122  みかん   仕入  ¥1,200    ¥400 4  2010/12/4  122  みかん   販売  ¥800     ¥- 5  2010/12/5  135  バナナ   仕入  ¥1,300    ¥800 6  2010/12/6  135  バナナ   仕入  ¥300     ¥- 7  2010/12/7  135  バナナ   販売  ¥800     ¥- 8  2010/12/8  148  ぶどう   仕入  ¥2,000    ¥- 9  2010/12/9  148  ぶどう   販売  ¥1,500    ¥- 10 2010/12/10  148  ぶどう   販売   ¥500 ¥- 上記のようなEXCELの表があります。 B列No.(第一条件)、C列商品名(第二条件)が一致するものを 仕入から販売を引いてF列のような数字になるように残高を出したいです。 どんな関数でも構いません。 関数でできる方法があれば教えてください。 実際のデータ量が2000行くらいあるので手作業でするのが大変で…。 よろしくお願いしますm(_ _)m OS:WindowsXP Office:2007

  • Excel関数教えてください。

    データベースとなるシート2のA列に、該当する文字列を入力しています。このデータは定期的に変更し、更新する際いくつになるか一定ではありません。(なので列としています。) シート1のA列(A1とする)に、入力した文字列が、シート2のA列に入力した文字と完全一致した場合、シート1のE列(E1とする)に「◯」が表示され、 入力したものがデータベースに該当しない場合は空白にしたいのですが、どんな関数にしたらよいですか?

  • :【Excel】複数の条件を満たす合計を出す関数

    大変こまっております。みなさまのお力を貸してください!よろしくお願いします。 以前、このような質問がありました、  A    B    C 1 果物  銘柄  購入数 2 りんご ふじ  21 3 りんご 王林   3 4 ぶどう デラ  15 5 ぶどう 巨峰  16 6 りんご ふじ   2 7 ぶどう 巨峰   7 上記のような表があります。 別な場所に、りんご&ふじの条件を満たす場合の購入数の合計を出したいのですが、関数を教えて下さい。 SUMIFで複数の条件を指定することできるのでしょうか? そして、もちろん以下のような宣言文で可能なのですが、 SUMPRODUCT((A1:A7="りんご")*(B1:B7="ふじ")*(C1:C7)) なのですが、りんご、ふじの部分を数字にしてしまうと答えが0となり出てきません!! すごくこまってます・・・ なぜなのでしょうか?? まったく同じ宣言文で、宣言文ないの文字列に確答すつ数字を入力してます。 ちなみに下記のような場合です。 A  B    C 1 300 4000  200 2 300 5000   200 3 300 2000   200 4 400 4000  200 5 300 5000  300 6 500 2000   300 という数列があるとします。 んでやりたいことは、 複数の条件(2つ)を満たす時のC列の合計。 つまりは、A列の特定の数字とB列の特定の数字を満たすときの、C列の合計。 を出したいんです。 =SUMPRODUCT((A1:A6="300")*(B1:B6="5000")*(C1:C6)) と打ったのですが、どこか間違ってる点を教えて下さい。 これでゆうと、答えは500とでてきてほしいのですが・・ よろしくお願いします!!

  • 関数の複数条件について

    たびたびご協力をお願いしておりますが よろしくお願いいたします!>< エクセルのIF関数などを使って以下の条件を満たす数式を作っていたのですが、 条件が変更になってしまい困っております。 【状態】 ・B2:E2の中に【空白、◎、●、▲】のいずれかが入っている ・条件によりF2に【S,A,B,C,ネタ】が入る 【条件】 ・S⇒すべて◎ ・A⇒3回連続した◎がある ・B⇒◎3つ以上だが連続していない ・ネタ⇒●が1以下かつ、◎がない ・Cがそれ以外 【困】 ~が無い、~を含まない時、という関数がうまく作れず、調べても出てきませんでした。 NOTでは?という結論に至ったのですが少し違うような気も……; 以前の条件が A:◎3つ以上 B:◎2つ以上、残りが● C:●3つ以上 ネタ:それ以下 であったので、長いのですが =IF(COUNTIF(M2:P2,"◎")>=3,"A",IF(AND(OR(COUNTIF(M2:P2,"◎")=2,COUNTIF(M2:P2,"◎")=1),COUNTIF(M2:P2,"●")>=2),"B",IF(COUNTIF(M2:P2,"●")>=3,"C","ネタ"))) で何とか構成しておりました。 アドバイス、お待ちしております。 【追伸】 ~以上、~以下の表記もうまく使えなかったのでこういった長い形になっているのですが もしよろしければ合わせてお教えいただけると幸いです。

  • 【Excel】日付を条件のひとつに指定してデータ集計

    Excel2003を使用しています。 Sheet1   A    B         C 1 4/1  (株)Excel    \100 2 4/1  ACCESS    \300 3 4/1  Excel(株)    \200 4 4/2  Word       \150 5 4/2  Excel       \100 6 4/3  ACCESS(有)  \200 7 4/3  Excel       \100 7 4/3  (有)ACCESS  \100 が入力されている表があります。 Sheet2に   A    B    C 1 4/2  合計値 個数 2 4/3  合計値 個数 Sheet2のA1セルに日付(仮に4/2とします)を入力したら、Sheet1にある条件に一致する日付を検索し、尚且つ、部分一致する文字列(仮にExcelとします)を検索し、両条件に一致したC列の合計を Sheet2のB1セルに表示させる様にしたいのですが、どのようにすればいいでしょうか? 又、上記同様で Sheet2のA1セルに日付(仮に4/3とします)を入力したら、Sheet1にある条件に一致する日付を検索し、尚且つ、部分一致する文字列(仮にACCESSとします)を検索し、両条件に一致した個数を Sheet2のC2セルに表示させる様にしたいのですが、どのようにすればいいでしょうか? 関数で試してみたのですが、うまくいかなかったので、質問させていただきました。 よろしくお願いします。

専門家に質問してみよう