• 締切済み

エクセルでセルの検索

エクセル2000で複数検索条件に当てはまるセルの個数を関数で処理したいのですが、何かいい方法はありますか? たとえば、 A列 日付(2004/12/11など) B列 状態(○or×) C列 会社名(A社など) となっていて、 A列が「2004/12/11」でB列が「○」でC列が「A社」の条件を満たすセルの個数を知りたいなどです。 オートフィルターで絞り込むようなイメージです。 この結果を値として欲しいのです。 宜しくお願いします。

みんなの回答

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

複数項目の条件の検索は、本OKWEBにも良く載ります。 (1)ピボットテーブル (2)DCOUNT (3)オートフィルタ (4)SUMPRODUCT (5)配列数式 (6)VBAプログラム などの方法をすぐ思い出せます。 個数を問題にするなら(1)が簡単でしょう。 (2)はなぜか人気がない。 関数に拘る人が多く、(4)の答えが直ぐ載ります。 (5)の解を上げます =SUM(IF((DATEVALUE("2004/1/11")=A2:A11)*("○"=B2:B11)*("山本建設"=C2:C11),1,0)) といれてSHIFTキーとCTRLキーを押しつつENTERキーを押します。 データ例は 2004/1/10 山本建設 2004/1/11 ○ 山本建設 2004/1/11 ○ 山本建材 2004/1/11 ○ 山本建設 2004/1/1 山本建設 2004/1/15 ○ 近藤組 2004/1/16 今井工事 2004/1/17 ○ 山本建設 2004/1/18 木村水道 2004/1/19 大川塗料 で答えは(第2行+第4行の)2です

-TOM-TOM-
質問者

お礼

非常にわかり易い回答有り難う御座います。 また、ANo.#2の補足に記入した内容はどうでしょうか? もし宜しければお願い致します。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

=SUMPRODUCT((DATEVALUE("2004/12/11")=A1:A10)*("○"=B1:B10)*("A社"=C1:C10)) って感じで

-TOM-TOM-
質問者

補足

早々の回答有り難う御座います。 うまく行きました! また、下記のような事は可能でしょうか? A列 日付(2004/12/11など) B列 状態(○or×) C列 会社名(A社など) D列 品番(1234567890など数値or文字列) A・B・Cでフィルターをかけた結果のD列の値で重複を削除した個数を取る。 宜しくお願いします。

関連するQ&A

  • エクセルでセルの検索2

    前の質問(QNo.1122144)で説明が不十分だった為再度投稿致します。 エクセル2000で複数検索条件に当てはまるセルの個数を関数で処理したいのですが、何かいい方法はありますか? たとえば、 A列 日付(2004/12/11など) B列 状態(○or×) C列 会社名(A社など) D列 品番(123456789など数値or文字列) となっていて、 A列が「2004/12/11」でB列が「○」でC列が「A社」の条件を満たすD列の重複を削除した状態のセルの個数を知りたいなどです。 オートフィルターで絞り込んでD列の重複を削除したイメージです。この方法だとこの処理をした時のみは個数が解りますが、やりたいのは編集した時にこの処理が反映されるようにしたいのです。 宜しくお願いします。

  • 複数の条件を満たすセルの個数

    同時に複数の条件を満たすセル(行)の個数を知りたいです。  ABC 1●●○ 2○○○ 3●○● 4○○● 5●○○ たとえばB列が「○」でC列が「○」の 両方の条件を満たしている件数を調べるのは どういう関数を使えばよいのでしょうか。 「COUNTIF」とオートフィルタをあわせたような 感じなのですが、COUNTIFは複数の条件をいれられないのでしょうか。 どなたか教えてください。

  • Excelで、条件と一致する最後のセルを検索したい

    Excelで、条件と一致する最後のセルを検索したいのですが、どの関数をどのように使えばいいかわかりません。 どなたかお力をお貸し下さい。 問) 日付  社名  品名  個数 1/1   A    あ    1 1/1   C    い    2 1/2   B    う     3 1/2   A    え    4 1/3   C    お    5 1/3   A    あ    3 答) A社の最終購入日は  1/3 あ 3 B社の最終購入日は  1/2 う  3 C社の最終購入日は  1/3 お 5 となるようお願いします。

  • エクセルで複数条件に合うセルの数を数えたい

    エクセルで関数を浸かって、複数の条件に合うセルの数を数えたいです。 方法を教えてください 状況としてはA列に日付が入ります。B列は別のデーターが入り、C列に分類が入ります。    A   B   C 1 10/3  まる  山 2 10/3  三角  川 3     三角  川 条件1 A列に日付が入っていてC列の分類が山のもの  ?個 条件2 A列に日付が入っていてC列の分類が川のもの  ?個 条件3 A列に日付が入っていなくてC列の分類が山のもの  ?個 条件4 A列に日付が入っていなくてC列の分類が川のもの  ?個 こんな感じで各条件毎のセル数を数えたいです。よろしくお願いします。

  • Excelにて複数条件を満たす行の特定のセルの値を返す関数

    Excelにて複数条件を満たす行の特定のセルの値を返す関数を作りたいのですが、上手く行きません。 <Sheet1>   A列  B列  C列 1 2008/6/1 ★  320 2 2008/6/1 ☆  300 : : : Sheet2のA1に、「A列が2008/6/1で、B列が☆の場合、C列の値を返す」という関数を入れたいのですが、どうも上手く行きません。 良い式がありましたら教えて下さいm(_ _)m

  • Excel ●がついているセルのみ抽出したい

    A列  B列  C列 ●  りんご  3    みかん  5 ●  ぶどう  2    バナナ  5 ↓ ●  りんご  3 ●  ぶどう  2 上記のように●がついているセルの横(B、C列)を抽出する関数はありますか? オートフィルタ以外でおわかりになりましたら教えてください。 よろしくお願いいたします<(_ _)>

  • 【エクセル】左隣のセルが「2」となっているセルの数を数えたい。

    いつもお世話になってます。 エクセル2003について、以下の条件を満たす関数式を教えてください。 A列にa、b、c、d、eと5種類の1文字がランダムに入力されています。 B列に1、2、3と3種類の数字1つが同様に入力されています。 ・左右のセルの組み合わせが「a」「2」となっている数だけ数えたいのですがどのような式で計測すれば良いのでしょうか? ・言い方を変えると、右隣が「2」の「b」のセルの数を数えたいのです。 ・オートフィルターは使わないこととします。 たびたびすみません。よろしくお願いします。

  • エクセル 特定値の数え方に関する関数について

    エクセル2010を使用しています。 3つの列でそれぞれの値が入力されているときに 「A列に○○と入力してあり、B列に△△と入力されているセル」の個数や、 「A列には○○、B列には△△と入力してあり、C列には××と入力されているセル」の個数を数えるにはどのように関数を作ればいいのでしょう? データが増えていくので、いちいちフィルタを使って数えるのが手間なので、関数を作りたいと思っています。 わかりずらくて申し訳ありません。一応下の例でいくと A列が「1」となっていてB列が「い」となっているセルの個数 や、 A列が「3」でB列が「あ」となっているC列「犬」の数などです。 A列 B列 C列 1  あ  犬 1  い  猫   1  あ  猫 2  う  犬 2  あ  鳥 3  う  犬 3  い  猫 3  う  鳥 よろしくお願いします。

  • エクセル”検索条件はセル内のあいまい値”

    どうにも検討がつかず調べても対応したものができないのでお力添え願います。 D列に”A”と入力し、C列へ「D列のセル値が含まれた場合C値からB値をマイナスし それ以外は上のセル値を反映させる」としたいのですがどうするのがいいでしょうか。 直接値を指定してあいまい検索は『=IF(COUNTIF($A2,"*A*"),C1-$B2,C1)』でできたのですが この "*A*" 部分を”B”というときもあるのでD列のセル値であいまい検索としたいです。 A列の値は以下のように”A”の後ろに複数の数字がつくことがあります。 A列 A2 A3 B4 B3 B4 A2 A4

  • エクセル関数をもちいてセルを検索するには?

    お世話になります。 早速ですが、以下のようなデータがあるとします。     A    B    C 1   1    100 2   0    200 3   1    10 4   1    20 5   0    30 6   0    300 7   0    10 8   1    30 9   0    5 10  0    10 A列には0か1が、B列にはランダムな数字が並んでいるとします。 これに対し、C列にはA列の0の数を数えて、仮に5個目のB列の値を返したいです。 C1ならA1から0の数を数えて5個目、つまりB9(300)の値を返したい。 C2ならA2から0の値を数えて5個目、同じくB9(300)の値、 C3ならC3から0の値を数えて5個目、つまりB10(10)の値を返したい。 最終的には5個めではなく、任意の数字にしたいのですが、 このような値を返すにはどのような関数をもちいたらよろしいでしょうか? COUNTIFやINDEXでできるのではと思いましたが、 カウント数が指定数を満足させる条件がわからず行き詰りました。 どうかご指導お願いいたします。

専門家に質問してみよう