エクセル関数を使ってセルを検索する方法

このQ&Aのポイント
  • エクセル関数を使って指定の条件に合致するセルを検索する方法について知りたい。
  • A列の特定の条件に基づいてB列の値を取得する方法について教えてください。
  • COUNTIFやINDEX関数を使ってカウント数を満たす条件でセルを検索する方法を教えてください。
回答を見る
  • ベストアンサー

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

お世話になります。 早速ですが、以下のようなデータがあるとします。     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でできるのではと思いましたが、 カウント数が指定数を満足させる条件がわからず行き詰りました。 どうかご指導お願いいたします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 解釈が違っていたらごめんなさい。 >C2ならA2から0の値を数えて5個目、同じくB9(300)の値 は「300」ではなく、「5」になると思うのですが・・・ >C3ならC3から0の値を数えて5個目、つまりB10(10)の値 は C3からではなく、A3からですよね? そういうコトだとしての一例です。 配列数式になりますが、 C1セルに =INDEX(B1:B1000,SMALL(IF(A1:A1000=0,ROW(A$1:A$1000)),5)) としてShift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は、上記数式をドラッグ&コピー! C1セルを選択 → 数式バー内に貼り付け → そのまま(編集可能のまま) Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをオートフィルで下へコピーしてみてください。 >最終的には5個めではなく、任意の数字にしたいのですが とありますので、 任意の数字は数式内の「5」の部分で調整してみてください。 ※ エラー処理していませんので、データがない場合は「0」が表示されます。m(_ _)m

dilemma03
質問者

お礼

早速ご回答いただきありがとうございます。 はじめのご指摘の件はご指摘の通りです。誤記でした。 SMALL(IF(A1:A1000=0,ROW(A$1:A$1000))の内容の理解は後回しとして、 ご教示頂けた内容がやりたかった結果です。 誠にありがとうございます。

関連するQ&A

  • Excelの関数で悩んでいます。

       A   B   C  1 1  A君   3  2 2  B君   6  3 3  A君   9  4 4       12  5 5       15  6 6  B君   18  と、あるとき 「B3」にはA列の数字とC列の数字が一致するB列の値を入れたいのですが、 index関数とかmach関数を使ってもうまくいきません。 どなたか、ご指導よろしくお願いします。

  • エクセルの検索・関数

    お分かりの方、教えて下さい!! エクセルにて、 A列に13桁の数字がランダムにあり、 C列にも13桁の数字がランダムにあり、 E列には1桁~3桁の数字がランダムにあります。 B列に同じ行のA列の13桁と一致するC列の13桁を見つけ、 そのC列のと同じ行のE列の数字を入れたいのです。 上記の内容が出来る関数を教えて下さい。 分かりにくくてすみませんが、よろしくお願いいたします。

  • EXCEL関数について

    EXCEL関数について Sheet1、A1~A1000セルに「1~10」までの値がランダムに入力されております。 数字は「グループ1」、「グループ2」・・・という意味です。 B列、B1~B1000セルには「1~4」までの値がランダム入力されております。 B列については、空白のセルもあります。 Sheet2、A1~A10セルに、「1~10」までの値、「グループ1」~「グループ10」までが順に入力されております。 ここで、Sheet2、B列~E列、それぞれの1~10セルを使用し、、 それぞれの「グループ」がSheet1にて「1~4」の値をいくつずつ選んでいるか算出したいのです。 「グループ1」について、「1」のカウントはB1セル、「2」のカウントはC1のセルに返します。 同じように「グループ2」はB2~E2のセルに、「グループ3」はB3~E3のセルに値を返したいのです。 「COUNTIF」等の関数でいろいろと試してみたのですがうまく反映されません。 拙文乱文、大変恐縮ですが、ご教示頂きたく何卒宜しくお願い致します。

  • エクセルの数をかぞえる関数のAND

    EXEL2003を使用しています。 A列には空白セル、「Y」「B」がランダムに入っています。 B列には、人物の名前「中村」「高橋」「村田」がランダムに入っています。 A列が「Y」で、B列が「高橋」の行の数だけをカウントする条件付関数はどうなるでしょうか? COUNTIFとAND関数を使用すると思うのですが、使い方がわかりません。 よろしくお願いします。

  • エクセルの関数についての質問です。

    エクセルの関数についての質問です。 画像のように横に1、2、3…(100くらいまで続きます)縦にA、B、Cの行があります(端が切れちゃってますが、A2にA、A3にB、A4にCです) B2から横の列にはそれぞれ☆や○等いろいろな記号が入ります。 そしてこの記号には特定の値が決められています。☆=10、○=5、△=3 B3から横には、B2の記号にそった数字が入ります。(10やら5等) そこまではIF関数で式を作ったのですが、ここからが問題でして… B2から横に1から100まで、記号(B3から横に数字)を入力していった時のB3列の合計が仮に212とします。 合計した値が200を越えてしまった場合、B4からの列に数字を入力するようにしたいのです。 (200ギリギリ前くらいまではB3の列で、それを越える時からB4の列に入力します。その際、B3列に入る数字は消えます) なおかつ可能であれば、このB4からの列に入るのはランダムにできるといいのですが…(画像では○の数字を下ろしていますが、☆の数字をおろしても良いし、△の数字をおろしても良い) ●計算式によって入力された数字(B3列)を特定の数字を越えた場合、別の枠(B4列)に移す関数はありますでしょうか?? ●また、それをランダム(関数)で選ぶことは可能でしょうか?? よろしくお願いします。

  • excel 関数をON、OFFさせる方法

    現在、図のような表でA、B、Cの数を「COUNTIF(B2:B3,"A")」の関数でカウントしているのですが、これを例えば図の一番右のセルに何かの文字を入力した時にだけその列のA、B、Cをカウントさせる事は可能なのでしょうか? その列だけ「COUNTIF(B2:B3,"A")」の関数をONに出来る様なスイッチ役のセルが作れればと思っているのですがどなたか良い方法をお教え頂けたらと思います。 よろしくお願いします。

  • excel関数 参照したセルで始まるもの(同一ではなく)をカウントしたい

    お世話になっております! 例えば列Aに国名があり、列Bには国名プラス数字が入っています。 ・ A ・ B ・ C 1・アメリカ ・ アメリカ4 2・カナダ ・ アメリカ3 3・ブラジル・ 中国1 4・中国 ・ 中国1 5・・ ブラジル8 (注:中点はセルの区切りを表すもので、実際には付きません) C列にて、B列の、国別の数を数えたい(但し「中国1」のように国名・数字とも同じ場合は1とカウントする)のです。ですので正解はC1(アメリカ)に2、C2(カナダ)に0、C3(ブラジル)に1、C4(中国)に1と表示されるような関数を作りたいのです。 当HPで教えて頂いた知識により、例えばC1に入れる式は =SUMPRODUCT(1/COUNTIF(A:A,A1)) ここまでは思い付いたのですが、そうすると「アメリカ」しかカウントしてくれずゼロになってしまいます。 「A1」と同一ではなく、「A1」で始まるセルをカウントするにはどうしたらいいでしょうか? 長くなりすみません

  • エクセル 重複データの検索(COUNTIF関数!?)

    A列とB列で、重複しているデータ(数字)を検索するための関数を教えて下さい。 確か、こんなような↓関数だったと思うのですが、ちょっと違うようです。 C2=IF(COUNTIF(A2,B1:B2377),"","×")

  • エクセル countif 検索条件に複数セル

    いつもお世話になります。 アンケートの集計をしています。 C列に1から20までのランダムな数字が500くらい入っている表があります。 その中で1か3か8か9...の不規則な12の数字が入っているセルの数を 数えたいのです。 countifの検索条件にORをつけたらどうかと考えてみましたが うまくいきませんでした。 個々にカウントして合計する方法の他に、良い方法はないでしょうか?

  • EXCELで処理する。(どの関数が適当ですか?)

    どの関数で、どのように入力してよいか忘れてしまったので、どなたか教えてください。 90~100% → A 80~90% → B 70~80% → C というように、グループ分けしたいのですが。 一列にランダムに数字が並んでいて、上記のように90から100の間の数字は「A」になるように、80から90の間の数字は「B」になるようにしたいのです。 たとえば、 93→A 82→B 78→C 88→B COUNTIF 関数ではないですよね。 どなたか、教えてください。

専門家に質問してみよう