EXCEL表のB列を検索して、A列から値を取得する方法を教えてください。


A B
1 100
2 278
3 136*
4 300
5 500
6 501 の表から、B列の136を検索して、A列から3を取得する方法を教えてください。
※式と関数のみでVBAなどは使えません。B列の値は常に変化し2500件に及ぶ件数となっています。
B列の値の規則性もありません。ただし、B列の値重複はないものとします。
具体的なサンプルを書いていただいてくれた方にポイント差し上げます。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/04/19 05:48:02
  • 終了:--

回答(3件)

id:tokyo_xjp No.1

tokyo_xjp回答回数284ベストアンサー獲得回数02005/04/19 06:01:05

ポイント20pt

URLは私のサイトで質問内容とは関係ありません。


例題の場合は


=LOOKUP(136,B1:B7,A1:A7)


で望む結果が得られると思います。

id:more_1999 No.2

むんく回答回数581ベストアンサー獲得回数12005/04/19 06:05:43

ポイント10pt

http://2ch.net/

�Q�������˂��f���‚ւ悤����

URLダミー。

VLOOKUPを使いましょう。具体的なサンプルがかけなくてすみません。

id:ayamee

VLOOKUPでは、配列の左側でしか検索できないようです。

2005/04/19 06:23:45
id:JunK No.3

JunK回答回数707ベストアンサー獲得回数182005/04/19 06:49:56

ポイント70pt

重複がないのでしたら、=SUM(+IF(B$1:B$65535=136,A$1:A$65535,””))

とどこかのセルに書いて、Ctrl+Shift+Enter を押して配列式にすればよいと思います。


「B列に136があったら、その時のA列の値を足し合わせて出力しろ」という式です。


B:Bだと何故かエラーになりますのでご注意ください。尚、B$65535はexcelが扱える最大行数です。

id:ayamee

ありがとぅござぃます。

解決できました。

2005/04/19 07:00:11
  • id:taknt
    =LOOKUP(136,B1:B7,A1:A7)って

    136の時だけ うまく取得できないみたいだが?
  • id:JunK
    Re:=LOOKUP(136,B1:B7,A1:A7)って

    LOOKUPのHelpを見ると、
    >重要 検査範囲に入力されている値は、数値は 1 〜 9、アルファベットは A 〜 Z、かなは ”あ” 〜 ”ん”、
    >ブール型の値は FALSE から TRUE へ昇順に並べておく必要があります。

    とあります。3 136だけ何故か昇順並びから外れてますので、そのため一部検索できないのだと思います。
    検索していって大きな数字になったら止めてしまうのは、MS社の手抜き・・・もとい仕様なのでしょう・・か。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません