• ベストアンサー

エクセルにおいて複数の条件から抽出することができる関数(式)を教えてください。

皆さんどうか教えてください エクセルにおいて複数の条件から抽出することができる関数(式)を教えてください。 400  70円  ad   6個 700  60円  da 7個   100  30円 ad   9個 400  50円  ad   10個 などの表で、400で70円でadなものの数を求める 条件で数値を求めるにはどうすればいいのでしょうか また条件にあったデータに6個などの数値をかけて合計した数値を求めるにはどうすればいいのでしょうか 関数でできる方法をお願いします。 あと”なおかつ”などの条件を行う関数も教えてください どうかヨロシクお願いします。

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

  • ベストアンサー
  • sero
  • ベストアンサー率47% (916/1944)
回答No.5

#4さんの回答で解決しませんか? 1行に複数のデータが入力されており、全ての列を満たす行数をカウントしたいということですか? カウント対象が1万行あるとすると =SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・) と必要なだけ入力し、ctrlキーとshiftキーを押しながら enterキーで式を確定して下さい。そうすると式が {=SUM((A1:A10000=A列の条件)*(B1:B10000=B列の条件)*(C1:C10000=C列の条件)*(D1:D10000=D列の条件)・・・)} という風な括弧で括られます。(配列数式になる) 列の条件は、数値ならそのまま、文字列なら""で囲います。 セルを指定しても構いません。 (1行目と同じ場合のみカウントという事であれば=A$1等となる) もし、例の場合でいう400でadの場合の金額*個数を求めたいなら (例では70円*6個+50円*10個で920円) =SUM((A1:A10000=400)*(C1:C10000="ad")*(B1:B10000)*(D1:D10000)) をctrlキーとshiftキーを押しながらenterキーです。 後は応用です。

yoshi51
質問者

お礼

返事が遅くなりました 本当にアドバイスありがとうございました アドバイスのおかげで 無事に問題が解決することができました。 心から感謝いたします。 本当にありがとうございました。

その他の回答 (6)

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

このタイプの問題は何度も質問に出ます。2、3日以内にも2件ありました。2条件までですが。1条件から2条件ではどうか、3条件ではとなるのは自然ですが。 考えておられる(1セルに入れるだけの直接の)関数式では出来ません。なんでも関数式で出来ると思うのは間違いです。エクセルを使っていて、人間が考えつくしたいことの極く一部しか出来ません。期待が大きすぎます。 特に抽出は苦手で難しいです。原理的にそうなるのです。 それらはVBAで処理する領分でしょう。 本件に関しては、DSUM、DCOUNT、オートフィルタ、ピボットテーブル、配列数式などを勉強してください。エクセルではDSUM辺りがこの質問の解決策と しているような(個人的に)気がします。 配列数式は、1セルに入れるだけの直接の関数式で出来るようにみえますが、異質なように思います。 (1)操作・ウイザード(2)関数(3)VBA・アドインのうちエクセルは(1)が利用の基本ではないかと思います。あまりに関数に拘るお考えが気になって。

yoshi51
質問者

お礼

返事が遅くなりました 本当にアドバイスありがとうございました アドバイスのおかげで 無事に問題が解決することができました。 心から感謝いたします。 本当にありがとうございました。

  • lucy-7
  • ベストアンサー率25% (2/8)
回答No.6

長くなります。 ご質問の内容を考えてみましたが…例えば「400」「700」などが型番、「70円」などが単価、「ad」などが商品名、「6個」などが販売個数、といった、販売管理表のようなもの(理解する為の例です、あくまで)と思えばよいのでしょうか? その上で、「型番が400&単価70円&品名adのものの総販売個数と合計売上額を求めたい」という事でしょうか。 であるならば、No.4さんやNo.5さんのやり方で求められる筈です。(実際にExcelで、yoshi51さんが例とした表を入力して試しました。) 1.A1セルから下に「400」「70」…と入力していき、同様にB1セル~下に「70」「60」…、C1~「ad」「da」…、D1~「6」「7」…で、A1~D4の範囲の表を作成。 2.(仮に見やすいように1行空けて)D6セルに次の数式を入力。 =SUM((A1:A4=400)*(B1:B4=70)*(C1:C4="ad")*(D1:D4)) ここで「普通に確定をする(Enterキーを押す)代わりに」Ctrl+Shift+Enterを同時に押します。 3.すると数式が{=SUM((A1:A4=400)*(B1:B4=70)*(C1:C4="ad")*(D1:D4))}に変わり、3つの条件を満たすものの販売個数が求められます。 (この場合6個) 4.この合計売上額を求めたい場合は、例えばE6セルに =70*D6 の式を入れればOKです。 (70円×6個=420円) そうではなく、単価は違っても「400」で「ad」なもの全ての合計売上を求めたいならば、No.5さんが書いてらっしゃるような式になります。 注意したい事は、他の方もご指摘のように「6個」などと入力されている場合はExcelに”文字列”として扱われてしまうので、計算できません。 「個」の表示が必要であれば、セルには「6」で入力して、[セルの書式設定]-[表示形式]タブの[分類]から「ユーザー定義」を選んで、[種類]の欄で”G/標準”の後に”個”を入力して設定できます。 (サンプル欄に6個と表示されていればOKです。) 尚、補足にある「aでありbでありなおかつcでありdでもありeでもある」の意味ですが、これは例えば、 ・型番400で単価70円で品名adであるのと同時に、担当者が山田である(というように条件が3つより多くある) という事がおっしゃりたいのでしょうか? であれば、先の数式の(C1:C4="ad")と*(D1:D4)の間に *(D1:D4="山田") が入って、最後の(D1:D4)が(E1:E4)に変わる(個数のセル範囲を指定する)だけです。 …というやり方で私は正しい結果を得られたのですが。

yoshi51
質問者

お礼

返事が遅くなりました 本当にアドバイスありがとうございました アドバイスのおかげで 無事に問題が解決することができました。 心から感謝いたします。 本当にありがとうございました。

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.4

>400で70円でadなものの数を求める 条件を満たすものの個数の合計方法は、 =SUM((A1:A10=400)*(B1:B10=70)*(C1:C10="ad")*(D1:D10)) を配列数式として入力します。 (データがA1:D10に入っていて、"個"とか"円"は付いていない数値データと仮定しました) >6個などの数値をかけて合計した数値 6個を何に掛けるのでしょうか?

yoshi51
質問者

お礼

返事が遅くなりました 本当にアドバイスありがとうございました アドバイスのおかげで 無事に問題が解決することができました。 心から感謝いたします。 本当にありがとうございました。

yoshi51
質問者

補足

あの いわゆる aでありbでありなおかつcであり dでもありeでもある もののカウントを とりたいんですよ それではでてこなかったです。 6個とは上に書いてある6個7個のことです。

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.3

一番右の数値を合計すればいいのでしょうか。 データ数をカウントするのでしょうか。 数値の合計ならまず、表の一番上に項目を作ってください。 例えば、400の列は番号、70円は金額などのように、A列からD列まで その隣、F列に抽出したい項目をおなじ名前でFからHまで付けます。その下に抽出したいデータを入力する。 合計したいセルに=DSUM(項目を含めたデータ範囲,合計する列の項目部分,F列に作った抽出用の範囲) データ数のカウントならDSUMをDCOUNTに変更してください。 最後にDSUMで出た数値に単純に6を掛ける。 >400で70円でadなものの >なおかつ これ同じことですよね。

yoshi51
質問者

お礼

返事が遅くなりました 本当にアドバイスありがとうございました アドバイスのおかげで 無事に問題が解決することができました。 心から感謝いたします。 本当にありがとうございました。

yoshi51
質問者

補足

あの いわゆる aでありbでありなおかつcであり dでもありeでもある もののカウントを 一番下の行の 一つのセルのみで行いたいんですよ 意味わかりませんかね すいません 沢山抽出するのがあるので それではできないです スイマセン

  • sero
  • ベストアンサー率47% (916/1944)
回答No.2

ぱっと思いついた一例です。 前提条件として、「70円」や「6個」が数値として入力されているとします。 (文字列として入力されているなら補足して下さい) それぞれのデータがA1~D4セルに入力されているとして、E1セルに 下記数式を入力してE4セルまでフィルします。 =IF(A1&"_"&B1&"_"&C1="400_70_ad",D1,"") (抽出条件が多いなら、and関数を使用した方が簡単かも) 抽出条件に合致するデータの個数を求めるなら、下記式を任意のセルに入力 =COUNTIF(E1:E4,">0") 総個数なら単にsumで良いでしょう。 =SUM(E1:E4) (sumifでも可)

yoshi51
質問者

お礼

返事が遅くなりました 本当にアドバイスありがとうございました アドバイスのおかげで 無事に問題が解決することができました。 心から感謝いたします。 本当にありがとうございました。

yoshi51
質問者

補足

あの いわゆる aでありbでありなおかつcであり dでもありeでもある もののカウントを 一番下の行の 一つのセルのみで行いたいんですよ 意味わかりませんかね すいません 沢山抽出するのがあるので それではできないです スイマセン

  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.1

オートフィルターで条件に一致した行だけを表示出来ます。 抽出できたら空きセルに6倍の数式を入れれば出来ます。

yoshi51
質問者

お礼

返事が遅くなりました 本当にアドバイスありがとうございました アドバイスのおかげで 無事に問題が解決することができました。 心から感謝いたします。 本当にありがとうございました。

yoshi51
質問者

補足

あのそういうことではなくて 関数で 400で60円でabのものは何個あるかを求める式を知りたかったんですよ。 ”なおかつ” と言えばいいのでようか 複数の条件の抽出したいということなんですよ。 またその抽出したデータの列に記載された個数の合計を求める式も知りたいんですが 本当によろしくお願いします。

関連するQ&A

  • エクセルで複数の条件を満たした値を返す関数を教えてください。

    エクセルで複数の条件を満たした値を返す関数を教えてください。 (画像を添付しました) 左の表(A1からD9)のデータを右の表でIDと製品を選択すると 会社名、名前が抽出するような関数を教えてください。 INDEXやMATCHなど使ってみたんですが、組み方が悪いのかうまく抽出できませんでした。 よろしくお願いします。

  • エクセルで条件付き書式での複数データを色づけ抽出をしたいのですが、上手

    エクセルで条件付き書式での複数データを色づけ抽出をしたいのですが、上手くいきません。 社員の勤続年数を纏めた表があり、そのリストの数値化した勤続年数の中から「0.5」「1.5」「2.5」「3.5」~「10.5」の数字を色づけ抽出したいのです。(有給計算に使用) 色づけは、文字でも網掛けでも構いません。 A列に氏名、B列に数値化した勤続数が入っているような形です。 *数値は関数で入ってます。 宜しくお願いします。

  • Excel 複数列を同じ条件で抽出・合計する方法

    Excelの抽出・合計について教えてください。 配列を用いた方法などいろいろ検索しましたが式が長くなるので、 もう少しわかりやすくできないかと思っていろいろ探した結果、 ここに辿り着きました。 作業対象のSheetは次のとおりです。 ・行数はその月によって可変です。 ・A~L列まであると仮定します。これは固定です。 ・合計を求めたいのはL列の値となります。 抽出条件(AND条件) ・A~E列とI列が0(ゼロ) ・F~H列が0(ゼロ)でない、つまり数値が入っている 上述の条件をともに満たすデータのL列の数値の合計を求めたいと いうのが、今回の作業です。 現在はSUMPRODUCT関数を使って1列ずつ条件を設定しています。 しかし、式がたいへん長くなるので、もう少し簡略化したいです。 できればピボットテーブルやデータベース関数は余分な列を使うので 避けたいと思っています。 アドバイス、よろしくお願いいたします。

  • ExcelのCOUNTIF関数で条件を複数定義する

    はじまして、こんにちは。 現在Excel(2000)でリストを作り、COUNTIF関数で計算する作業をしています。 そこで質問なんですが、現在"○"と"×"をデータとして入れ、 COUNTIF関数の検索条件で"○"とし、○ならカウントとしてリスト毎の合計数を計算しているんですが、 この方法だとデータが入っていないリストまで合計数が0になってしまします。 これではすべて×でも、データが入っていなくても0になってしまい、区別できなくて困っています。 これを、データが存在している場合の"○"の数と条件付けたいんですが、このような複数の条件設定はどうやれば出来るんでしょうか? 宜しくお願いします。

  • エクセル 複数条件抽出について

    エクセル2013を使用しています。 データシートより複数条件に当てはまるデータを 別のシートへ必要な項目のみ抽出する方法(関数orマクロ)をお教え下さい。 データシート:A列からU列まで様々なデータが入力されている。 抽出条件:H列とN列 抽出する項目:C列・I列・M列・O列・Q列・R列・S列 (抽出する項目は増える可能性有) 複数条件の抽出はフィルタオプションで出来たのですが、 抽出が必要な項目を指定する方法が分かりませんでした。 宜しくお願いします。

  • エクセル関数の書き方、入力方法

    エクセル関数の初心者です。関数の書き方で下記の内容について教えて下さい。 例えば、1行のセルA1~P16の表に入力された数値(1~3桁)で、少ない数値を5個を自動的に抽出し、その平均値を出す関数の書き方が分かりません。 但し、表中に同じ少ない数値が複数有る場合、その複数を含め5個抽出する式としたいのですが、どのような関数とすればよいでしょうか。

  • EXCEL、複数の条件からデータを抽出

    EXCELを使って複数の条件からデータを抽出したいです。 条件は 利用した施設、開始時間、終了時間の3つから条件にあう金額を抽出したいです。 VLOOKUPでは一つの条件からでしか抽出が出来ないので困っています。 A列に利用した施設、G列に開始時間、H列に終了時間が並んでいます。K列に金額を抽出したいです。 それぞれの時間、施設ごとの料金表をつくってそこから抽出しようと思っています。使用出来る関数やそれ以外にもやり方などあればご教授頂ければと思います。宜しくお願い致します。

  • エクセル 複数の条件を抽出

    エクセルで複数の条件を抽出する方法について教えてください。 sheet2には以下の表があります。 A列  商品名1 B列  商品名2 C列  評価1 D列  評価2 sheet1には複数のデータがあり、そのデータを使って商品名と評価を出しています。 (商品名は手入力して、評価は関数を使って数値を出しています。) ここから、評価1がある値以上かつ評価2がある値以上の商品名1と商品名2をsheet3に抽出したいのです。(実際にやりたいのは、評価1が2%以上かつ評価2が0.9以上という条件です。) sheet3に出したいのは見やすいと思ったからで、どうしてもというわけではありません。 商品名が分かれているのはsheet2で作業がしやすいように分けています。必要であれば統合します。 評価1は書式設定で%表記にしています。 一応自分なりに調べてはみたものの、全くの初心者な為わかりませんでした。 初心者でもわかるように教えていただければありがたいです。

  • エクセルの複数条件に対する関数について

    皆様初めまして。 エクセルの関数についての質問となります。 以下の複数条件がある場合のIF関数の式がどうしてもわかりません。 申し訳ありませんが、どなたご教授頂けないでしょうか。 条件:目標値の30%以上である場合は”◎”、目標値を達成していれば”○” わかる方なら簡単なのでしょうが、関数に不慣れな私には複数条件となった場合の式がわかりません。 宜しくお願い致します。

  • EXCELの関数で複数条件の抽出方法

    エクセルの関数について教えてください。 VLOOKUPで複数条件を抽出したい。 以下の様に出来ればと思いますが、数式が分かりません。 売上データーの中から複数の条件に一致したものだけを抽出したい。 例) 商品が1,2,3,4,5,6,7,8,9,10と種類が100あるとします。 売上先A,B,C,D,E,F,G,と100の客先があるとします。 その中から、商品1と売上先Aの場合はA-1と売上金額のデーターを抽出させて、商品1と売上先がDの場合はD-1と売上金額を抽出させたい。但し、商品1と売上先Bの場合は売上金額を抽出させたくない。 このような場合の関数での数式を教えて欲しい。 お分かりの方があればお教え願います

専門家に質問してみよう