エクセルの関数について

このQ&Aのポイント
  • エクセルの関数について説明します。A列に抽選会の回数、B列に当選番号、C列に賞品番号が3000件あるデータがあります。特定の条件に合致するデータの数を求めるための式を尋ねています。
  • 先日質問ページで教えていただいたSUMPRODUCT関数を使用して条件に合致するデータの数を求めようとしましたが、うまくいかなかったようです。
  • オートフィルターは使用したくないため、他の方法で特定の条件に合致するデータの数を求めたいと考えています。
回答を見る
  • ベストアンサー

エクセルの関数について

A列に抽選会の回数(1~100)、B列に当選番号(1~10)、C列に賞品番号(アルファベット1桁+数字3桁)が3000件 位あるデータがあります。 例えば、検索値として、A列の抽選会回数=5 & B列の当選番号=3 & C列の賞品番号="1桁目がDのデータ全て" の データ数を求めたいのですが、どのような式を使えば良いでしょうか? 先日この質問ページで、『SUMPRODUCT』を教えていただいたので、下記の様に指定してみましたが、当然(?)駄目でした。 SUMPRODUCT((A1:A3000=5)*(B1:B3000=3)*(C1:C3000="D***")) ちなみに、オートフィルターは使用したくありません。 宜しくお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

=SUMPRODUCT((A1:A3000=5)*(B1:B3000=3)*(LEFT(C1:C3000,1)="D")) でいいと思いますよ。

kontade
質問者

お礼

おかげさまで欲しい値が求められるようになりました。有難うございました。

その他の回答 (1)

  • bari_saku
  • ベストアンサー率17% (1827/10269)
回答No.1

空いているどこかの列に、left関数でC列の一番左の文字を切り出して、その列をSUMPRODUCT関数の条件に使ってみては? おわかりかと思いますが、仮にX列としたらこんな感じ。 =SUMPRODUCT((A1:A3000=5)*(B1:B3000=3)*(X1:X3000="D")) なお、left関数の使い方はこちらです。 http://www3.tokai.or.jp/excel/kansu/left.htm

kontade
質問者

お礼

ご回答有難うございました。left関数を使う点は参考になりました。

関連するQ&A

  • 検索値が複数条件ある場合のエクセル関数

    A列に抽選会の回数(1回~30回)、B列に当選番号(1番OR2番)、C列に商品番号(1番~10番)が入力されているデータが3000レコード 程入力されているデータがあります。 例えば、A列の抽選会の回数が5回&B列の当選番号が2番だった時のC列の商品番号を求めたいのですが、どんな式にすれば良いのでしょうか?入力されているデータの加工はできないので、セルを連結してVLOOKUP関数で検索値を求める事はできません。 どなたか、宜しくお願い致します。

  • エクセル SUMPRODUCT関数でOR検索

    添付画像のような表があります。 '=SUMPRODUCT((B:B="男")*(C:C="新潟")*(D:D="B")*ROW(A:A)) で、B列が男、C列が新潟、B列がB のデータがある行番号を返してくれます。 B列がBではなく、B列がAまたはABのデータがある番号を検索する場合はどうかなと思い、 '=SUMPRODUCT((B:B="男")*(C:C="新潟")*OR((D:D="A"),(D:D="AB"))*ROW(A:A)) としてみたら、該当データがないにもかかわらずB列がBの行番号が帰りました。SUMPRODUCTで検索する場合、ORを使う場合はどのように書けばよいのでしょうか? ’=SUM(SUMPRODUCT((B:B="男")*(C:C="新潟")*(D:D="A")*ROW(A:A)),SUMPRODUCT((B:B="男")*(C:C="新潟")*(D:D="AB")*ROW(A:A))) のようにそれぞれを求めて合算するしかないのでしょうか?

  • エクセル関数の複数条件の値の求め方について

    A列に抽選会の回数(1回~30回)、B列に当選番号(1番OR2番)が3000レコード程入力されているデータがあります。 例えば、抽選会回数が2回で、当選番号が2番のレコード数を求めたいのですが、どのようにすれば良いでしょうか? 過去質問を参考にして、下記の式でとりあえず値は求められたのですが、この式では"1"以外という指定になってしまい、本来指定したい"2"のレコード数が求められません。(3番が出た時に困ります) =SUM((A1:A3000=2)*ISERROR(FIND("1",B1:B3000))) また、範囲指定を『A1:A3000』の様に範囲限定ではなくて、A列もB列も全てにしたいのですが、それは出来ないのでしょうか?『A:A』『B:B』と範囲指定したらエラー値 #NUM! になってしまいました。(レコードが随時増えていくので、その都度範囲指定をやり直したくありません) 宜しくお願いします。

  • エクセル SUMPRODUCT関数について教えてください

    エクセルで作成した表から ○○かつ●●のデータ個数を求めたく、 SUMPRODUCT関数を こちらで調べておりましたが どうしても解決しない部分があります。 どうぞ よろしくお願いいたします。 下記8桁数字は、日付です。 カウントしたい数は、B列(終了)が、A1セルに入力された年月かつ、区分(C列)が「A」の数です。 =SUMPRODUCT((LEFT(B2:B100,6)=A1)*(C2:C100="A")) こちらで、『B列=A1セル かつ C列="A"』のみのカウントは出来たのですが、 終了延長(D列)が空欄でない場合は、D列日付データの方をカウントする。 早期終了(E列)が空欄でない場合は、D列・B列よりも E列を優先し、カウントする。という条件を付けたいのですが、 Sheet1 A1セルに「200810(数を調べたい年月を入力)」 (開始)  (終了)     (区分)  (終了延長)  (早期終了)  A列     B列      C列     D列      E列 20061001   20081001   A    -        - 20070926   20081020   A    -        - 20071102   20081009   A    20081201    - 20080101   20081013   B    -        - 20080208   20081010   A    -        20080210 ・・・ この場合、「2」となるようにです。 IF、OR関数あたりかな と考えておりますが、SUMPRODUCT関数のどの部分で条件付ければ良いか解りません。 説明下手で大変申し訳ございませんが、ご助力いただければ幸いです。 

  • エクセル関数SUMPRODUCTについて

    エクセル2000です。 A列とB列の和にC列を乗じたものの合計は、 =SUMPRODUCT(A1:A10,$C$1:$C$10)+SUMPRODUCT(B1:B10,$C$1:$C$10) または =SUM(SUMPRODUCT(A1:A10,$C$1:$C$10),SUMPRODUCT(B1:B10,$C$1:$C$10)) のような長ったらしいものになるのでしょうか? =SUMPRODUCT((A1:B10)*C1:C10) は、表中に文字列が入る場合があるのでエラーになります。 ご教示いただければ幸いです。

  • エクセル関数教えて下さい。

    以下の合計を出したいのです。 B列=1a、C列=1 尚且つD列が100以下 の 店舗数の合計を 出したいのですが、どうすればでるでのでしょうか? SUMPRODUCTを使用するのかな??とは思うのですが うまくいきません。宜しくお願い致します。 A列  B列   C列   D列 ××店  1a    1    88 ▲▲店  2b    1    98 ◆◆店  1a    0    105 ○○店  3a    0    52

  • エクセル関数のことで困っています。

    今、簡単な表計算の表を作っていますが、先に進まず困っています。 A1~A200のセルに1~200の番号が昇順で入っています。そしてデータとして,B2,C2,D2,E2 に各々a、b、c、dが入っており,,B3,C3,D3,E3 にa1、b1、c1、d1・・・・・・・・・・・・B200,C200,D200,E200にw,x,y,zのようにB,C,D,E列に適当な数が入っています。 そこで、E列の値で昇順  SMALL(D$1:D$200,A1)  に並べ替え、同時にB,C,D,Eの値も返したいのです。つまりエクセルの並べ替え機能を関数で自動で行いたいのです。 今は、関数の、ROW,SUMPRODUCT,COUNT,INDEX,LARGE,COUNTIF,COLUMN,などを使い関数バーに5行ほどになり、処理にとても時間がかかります。 何とか、簡単で早い計算式はないでしょうか。 よろしくおねがいします。

  • エクセルの関数

    A列に顧客番号(1~300)、B列に顧客名、C列に都道府県、D列に電話番号、E列にグループ(A or B or C)が記入されている データがあります。 例えば、『C列の都道府県が"東京都"』&『E列のグループが"B"』のデータ全ての『A列の顧客番号』と『B列の顧客名』を一覧で求めたい のですが、どのような関数を使えば良いでしょうか? ちなみに、オートフィルターは使用したくありません。 宜しくお願いします。

  • エクセル 複数条件を満たすデータを返す関数

    エクセルで、複数条件を満たした時にデータを返す関数をお教えください。 例えばA列に県名、B列に都市名、C列にアルファベットが入っている表があります。 イメージ・・・(カッコ内はセルの番地) (A1)神奈川県   (B1)横浜市    (C1)X (A2)神奈川県   (B2)横須賀市   (C2)Y (A3)千葉県    (B3)千葉市    (C3)Z この表があり、 (A5)神奈川県   (B5)横須賀市   (C5)??? このようにA5,B5のデータ(条件)に一致するアルファベットを C5に返す関数が必要です。(ここではYを返す) C列が数値の場合は、sumproduct等で可能と思いますが、 C列が文字の場合は使えないのではと考えています。 何か方法はありませんでしょうか?

  • エクセル関数

    エクセル初心者につき、質問させていただきます。 集計(抽出でしょうか)に関し シートAには A列に個々の件番(数値6桁です)があります 同一件番が複数あったり、一つだけだったりと 不規則です。 B列にA列の件番に対しての項目(文字列)があります  A列    B列 100001   電車 100001   バス 100001   徒歩 100003   徒歩 100006   電車 100006   バス これらのデータをシートBにて A列に6桁の数値を入力したら B・C・D列に以下の通り反映されるように したいのですがうまくいきません  A列    B列   C列   D列 100001   電車   バス   徒歩 100003              徒歩 100006   電車   バス 適した関数を御教え頂ければありがたくお願いいたします。

専門家に質問してみよう