• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel 順不同数値の検索 2)

Excelで順不同数値を検索する方法

このQ&Aのポイント
  • ExcelでA列の順不同な数値をB列の値と比較し、一番最初のB列の値以上の数値を探す方法を教えてください。
  • 前回質問で提供された解決策では期待通りの結果が得られなかったため、再度質問をさせていただきました。
  • 試した解決策「=SMALL(A:A,COUNTIF(A:A,"<"&B1)+1)」では、B2に表示される値が「101」となる結果となりました。しかし、期待する結果ではなく、「101」を超える最初の値を表示したいです。お力添えいただければ幸いです。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

【方法その1】  適当な列(ここでは仮にD列を使うものとします)を作業列として使用します。  まず、D1セルに次の関数を入力して下さい。 =IF(COUNTIF($A$1:$A1,">="&$B$1)=1,$A1,"")  そして、D1セルをコピーして、D2以下に貼り付けて下さい。  次に、B2セルに次の関数を入力して下さい。 =SUM($D:$D) 【方法その2】  B2セルに次の関数を入力して下さい。 =INDEX($A:$A,SUMPRODUCT((COUNTIF(OFFSET($A$1,,,ROW($A$1:$A$999)-ROW($A$1)+1),">="&$B$1)=0)*1)+ROW($A$1))  因みに、A列においてB1と同じ値かそれ以上になる値が最初に現れる行の行番号を求めるだけでしたら、次の様な関数となります。 =SUMPRODUCT((COUNTIF(OFFSET($A$1,,,ROW($A$1:$A$999)-ROW($A$1)+1),">="&$B$1)=0)*1)+ROW($A$1)

mattos
質問者

お礼

回答ありがとうございました。 方法その2にて解決しました。 感動しました!!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

次の式を入力して式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。 =INDEX(A:A,MIN(IF(A:A>=B1,ROW(A:A),1000)))

mattos
質問者

お礼

回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

>番最初にB1の値と同じ値かそれ以上になる値をB2に表示させるには =LARGE(A:A,COUNTIF(A:A,">="&B1)) >(期待結果としては一番最初にB1「101」を超える2行目の「102」を表示したい =LARGE(A:A,COUNTIF(A:A,">"&B1))

mattos
質問者

お礼

回答ありがとうございました。

mattos
質問者

補足

B1を「100」とすると、B2には「101」を表示してしまいます。 そのため、期待通りになりませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

=LARGE(A:A,COUNTIF(A:A,">="&B1)) では

mattos
質問者

お礼

回答ありがとうございました。

mattos
質問者

補足

B1を「101」とすると、B2には「101」を表示してしまいます。 期待結果は「102」ですので、期待通りになりませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

B2=SMALL(A1:A11,COUNTIF(A1:A10,"<="&B1)+1)

mattos
質問者

お礼

回答ありがとうございました。

mattos
質問者

補足

B1を「100」とすると、B2には「101」を表示してしまいます。 そのため、期待通りになりませんでした。 ※誤ってANo.3に上記補足を記載してしまいました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel 順不同数値の検索

    | A | B |   100 115   110   120   130   120   110   120 このように数値が順不同で並んでいるA列を上から検索して、 B1の値と同じ値かそれ以上になる行番号(かその値)をB2に表示させるには どのようにすればよろしいでしょうか。 (上記の場合ですと、3行目の120の値をB2に表示させたい。) 出来ればVBAは使わず関数だけで実現したいと考えています。 VLOCKUP、MATCH等々、検索関数を調べましたが出来そうで出来ません。 ご教示頂けますでしょうか。

  • 順不同

    この問題でAを想像、Bを解釈と書いたのですが、解答では順番が逆になっています。順不同と書いていないので私の解答ではだめでしょうか?

  • マクロで数値の小さい順に並べたい。

    マクロで数値の小さい順に並べたい。 すみません、教えてください。B列に数値が順不同で記述されているのですが、その数値をA列に数値の 小さい順に並べ変えたいと思っています。それを、マクロで記述する方法を教えて頂けませんでしょうか。

  • Excel 任意の数値を上から順に参照、表示する方法

    図1   A B    C D 1   3    1 3 2 1 4 ⇒ 2 5 3   5 4 2 (1) 図1の様に、A列の任意のセルに入力された値を上から順に選択して、C列の1行目から表示させる方法 (2) 上記同様B列の任意のセルに入力された値を上から順に選択して、D列の1行目から表示させる方法、但しB列の左側に値が有る場合(図1の場合はB2セル)は次の値から参照する 以上2点の回答(C、D列に入力するべき関数)をお願いします。 ※A列及びB列には値が入らない(空白)場合もあります ※今回、関数のみでの回答を希望しております(マクロ不可) ※実際の表では選択と表示させるシートは分かれています 返答が一時遅れる場合も有りますがご了承下さい。

  • Excelの住所録を「あいうえお」順にならべるには?

    Excelで住所録を編集しました。 名前が順不同になっているので 「あいうえお」順にしたいのですが出来ますか? 住所録にはB列にカタカナのふりがながとC列に漢字名付いています。 よろしくお願いします。

  • EXCELで

    EXCELで、同じ列に複数ある同じ文字を、1つだけ表示させるには、どうすればよいのでしょうか? 同じ列に例えば「a」という名前の商品がランダムで複数あり、「b」という商品も複数あります。 これが何十種類もの商品があります。 これをa,b,c,d・・・・と(順不同でも良いので)一つずつだけ表示させるにはどうやったら出来るのでしょうか?

  • Excelの順不同の難しい重複チェックについて

        列A     列B     列C    列D     列E     列F     列G     列H 行1  愛      青      パンチ                            行2  愛      勇気     友達   BB    AA    CC            行3  勇気     愛      友達   AA    CC    BB            行4  勇気     弁護士    正義                             行5  勇気     愛                                     行6  コイ     ダイス    ダチ                             行7  ダイス    ダチ     コイ                             行8  友達     愛      勇気   CC    AA    BB 上記のような6列のデータ(データによってはB列で終わっていることもあります。) の順不同で行での重複をチェックする関数を知りたいです。 行2、3、8と行6、7が順番は違いますが同じデータなので重複と出したいです。 こちらのサイトで色々聞いたので、3列の場合には E1に↓を入れて下にコピー =IF(COUNTA(A1:C1)=0,"",A1&"_"&B1&"_"&C1&"_"&COUNTA(A1:C1)) D1に↓を入れて下にコピー =IF(SUMPRODUCT(1*(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E$1:E1,A1,""),B1,""),C1,"")="___"&COUNTA(A1:C1)))>1,"重複","") 上記のように教わり、6列のデータが出てきてしまったので それに対応できるように、 列G1行目に =IF(COUNTA(A1:F1)=0,"",A1&"_"&B1&"_"&C1&"_"&D1&"_"&E1&"_"&F1&"_"&COUNTA(A1:F1)) こちらの関数を入れ下にドラッグし、 列H1行目には =IF(SUMPRODUCT(1*(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(H$1:H1,A1,""),B1,""),C1,""),D1,""),E1,""),F1,"")="___"&COUNTA(A1:F1)))>1,"重複","") 上記のように関数を追加したのですが、下記のような欲しいデータがどうしても出てきません。     列A     列B     列C    列D     列E     列F     列G     列H 行1  愛      青      パンチ                            行2  愛      勇気     友達   BB    AA    CC            行3  勇気     愛      友達   AA    CC    BB    重複      行4  勇気     弁護士    正義                             行5  勇気     愛                                     行6  コイ     ダイス    ダチ                     重複      行7  ダイス    ダチ     コイ                     重複      行8  友達     愛      勇気   CC    AA    BB    重複      3列の時にはできた関数なので6列も可能だと思うのですが何がいけないのか調べていたら こんな時間になってしまい、助けをお願いしたく再度書き込みしております。 何卒よろしくお願いいたします。

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

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

  • EXCEL VBA で値を順に足していき条件判定できますか?

    A列を順に足していきB列に表示するだけなのですが 0が5回続いたら×を表示させA列に数値がでてきたら また、足していきます。VBAで可能でしょうか? 例)    A  B    0    0 0    1 1    2 3 ←1+2    3 6 ←3+3    4 10 ←6+4    5 15 ←10+5    0 ×    0 ×    0 ×    0 ×    0 ×    1 1    2 3    3 6    4 10    5 15    0 ×    0 ×    0 ×    0 ×    0 ×    1 1    2 3    3 6    4 10    5 15 以上、分かる方いましたら、教えてください。

  • Excel 検索結果の表示について

    Excel2000を使用しています。 【現在の状況】 ■A列に検索値が入力されています。 ■B列に結果を表示させたいので、空欄です。 ■C列にVLOOKUPの式が入力されていて、結果が表示されています。 ■別シートに検索範囲が入力されています。 【作業したい内容】 ■A列の検索値を使用して、C列に結果が表示されているのですが、C列の結果をB列に表示させたい。 ■B列に「=C1」と入力せず、B列は空欄の状態で、C列のVLOOKUPの式に、B列に値を表示させるように、式を入れたい。 以上、どのような式をC列に記述すればいいのでしょうか。 ご回答の程、よろしくお願い致します。

専門家に質問してみよう