• ベストアンサー

エクセル関数で、検索値が複数ある場合、一番間近な値を抽出したいのですが?

何日もネット検索しましたが、理解できる情報が見つからなかったので、どなたか教えてください!    A列    B列   C列 (1) 31212    1    (2) 31212    2    1 (3) 21212    1 (4) 12212    3 (5) 31212    1    2 上記のような数列が数百行あり、これからも随時追加されていきます。 例えば、A5の31212で検索したとき、一番間近なA2の値、B2をC5に抽出したいのですが、どうしてよいか解りません。 よろしくお願いします!

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

こういうこと? 例示のB列には事前に値が入力されているとします。 またB列には以下のように値が無いものとします。 (1) 31212    1    (2) 31212    2 (3) 21212    1 (4) 12212    3 (5) 31212    1 なお、[]はセル選択された状態と思ってください。 #1のとおりに、 1)例示のデータの()付き数字の部分を列Aとし(列の挿入)、今あるデータを列B以降にずらす。 2)「データの並べ替え」で、列B(昇順)列A(昇順)を指定 --その結果-----ここから---- (4) 12212    3 (2) 21212    1 (1) 31212    1    (3) 31212    2     (5) 31212    1     --その結果-----ここまで---- 3)列B(31212があるところ)にオートフィルタ付けて欲しい値(今回は31212)を選択。 --その結果-----ここから---- (1) 31212    1    (2) 31212    2     (5) 31212    1     --その結果-----ここまで---- 4)検索結果の列Cの2行目以降、基準とする行「より前」の同じ値部分(今回は 1 と 2 )を最後までを選択してコピー。 (基準とする行を含めないこと) --その結果-----ここから---- (1) 31212    [1]     (2) 31212    [2]     (5) 31212    1     --その結果-----ここまで---- 5)ひとつ右下(例示の(2)で列Cに1があるセル)を選んで、ペースト。 --その結果-----ここから---- (1) 31212    1    (2) 31212    2    [1] (5) 31212    1    [2] --その結果-----ここまで---- 6)オートフィルタを解除(またはすべて表示)。 --その結果-----ここから---- (4) 12212    3 (3) 21212    1 (1) 31212    2     (2) 31212    2    1 (5) 31212    1    2 --その結果-----ここまで---- 7)「データの並べ替え」で、列A(昇順)を指定 --その結果-----ここから---- (1) 31212    1     (2) 31212    2    1 (3) 21212    1 (4) 12212    3 (5) 31212    1    3 --その結果-----ここまで---- が簡単じゃないでしょうかね。

tyouzya
質問者

お礼

何度もご親切にアドバイスありがとうございました! いろいろなやり方があるものだと関心いたしました。 参考にさせていただきます。 心より感謝申し上げます!

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

>   A列    B列   C列 > (1) 31212    1    (1)にある31212の列Cに番号を振らないルールは何? 1)列Aを「連番」用に確保し、現在の列を右へひとつシフト。 2)列Aに1からの連番振っておく。追加の都度、手当てする。 3)必要にあわせ、列Bの昇順、列Aの降順でソート 4)オートフィルタで列Bの「欲しい値」に番号を付与。 5)列Aの昇順でソート ではだめですか?

tyouzya
質問者

補足

アドバイス、ありがとうございます! 説明が下手ですみません。 C列は番号ではなくて、検索の結果を返したいのです。 (2)の31212に対して、一つ前の(1)の31212の対数であるB1の値をC2に返してあるのです。(同様に、(5)の31212に対して、一つ前の(2)の31212の対数B2をC5に返してあります) これを、連続してすべてを表示するようにしたいのですが? よろしくお願いします。!!

関連するQ&A