• ベストアンサー

ご質問お願いいたします。VLOOKUPのように数字を抽出したいのですが

ご質問お願いいたします。VLOOKUPのように数字を抽出したいのですが、 抽出する行はA列のみの数字です。 例えば、条件はD列の150でしたら、1500        B列の2100でしたら、3100 を抽出したいのですが、なにかいい方法はないでしょうか。 どうぞご教授ください。よろしくお願いいたします。

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

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

こんばんは! 余計なお世話だったらごめんなさい。 表内の数値がぴったりの場合は問題ないと思いますが。 私の考えすぎかもしれませんが、表に載っていない中間値もあるのではないかと思います。 もしそうであれば数値に範囲を持たせてその範囲内にある場合のA列のデータを表示させる方法です。 ↓の画像で説明させていただきます。 G3セルに =IF(COUNTBLANK(G1:G2),"",INDEX(A2:A23,MATCH(G2,OFFSET(A2:A23,,MATCH(G1,B1:D1,0),,1),-1))) という数式を入れています。 これで画像では「B列」の「1915」という数値の場合はA列の「2900」という値を返しています。 表内には「1915」という数値はありませんが、 G2セルに入力した値が、 B列の 1840 を超えて、1920以下の行になりますので、 その範囲内の最大値の行 ⇒ B列の1920(画像では4行目)がMATCHします。 A列の「2900」の行 を返す!という考え方です。 以上、長々と書きましたが かなり余計なお世話になる可能性がありますので その場合は無視してくださいね。m(__)m

zot1777
質問者

お礼

有難う御座いました。間違えて補足を付けてしまいました。とても満足しております。また、機会がありましたらよろしくお願いいたします。

zot1777
質問者

補足

ありがとうございます。 大変解りづらくもうしわけございません。 再度ご質問お願いいたします。 例えば、A列の3100を抽出するには 条件:G1セルに D    H1セルに 410が入ります。こちらは自動にアルファベットと数字がでてきます。 I1セルに3100がでるようにしたいと思っております。 なんども申し訳御座いません。どうぞご教授頂ければ幸いで御座います。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

Dを探したいなら =IF(COUNTIF(D:D,250),INDEX(A:A,MATCH(250,D:D,0)),"") Cを探したいなら =IF(COUNTIF(C:C,150),INDEX(A:A,MATCH(150,C:C,0)),"") それともBCD列を123番で指定してみたいなら =IF(COUNTIF(INDEX(B:D,0,X1),300),INDEX(A:A,MATCH(300,INDEX(B:D,0,X1),0)),"") #いまひとつ「どうしたい」のか,どこのセルにどんな具合に何を入れたらこんな具合で答えになって欲しいみたいな,あなたのヤリタイ事の姿が書かれてません。結果あーかなこーかなと回答者がイチイチ想像して,当てモノクイズになってますね。ご相談じゃなくて。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

必ず検索値があるという条件で、A~D列がすべて数字データなら以下の数式で求めることができます(検索値がG2セルに入力されている場合)。 =SUMPRODUCT(($B$2:$D$1000=G2)*A$2:$A$1000)

zot1777
質問者

補足

ご回答有難う御座います。 こちらの表の数で御座いますが、変更する場合が御座いますので同じ数が出てくる可能性があります。 できれば列の条件(B,C,D)の条件も入れたいと思っております。 どうぞよろしくお願いいたします。

関連するQ&A

専門家に質問してみよう