• ベストアンサー

vlookupのセル参照

vlookupで値を持ってきたあと、 参照してるデータのどのセルを見てるのか 知りたいのですが、そのような方法は 無いですか?? どなたかご存じの方いらっしゃいましたら 教えてください。 よろしくお願いいたします。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

VLOOKUPで検索する範囲に範囲名『Data』を、 その一番左の列範囲に範囲名『sData』を付けておきます。 VLOOKUPは下記のように、F2の値を範囲Dataの一番左の列で照合し、3番目の列を持ってくる例です。   =VLOOKUP(F2,Data,3,FALSE) 一例として、この抽出されたセルのAddressを、   =IF(ISERROR(VLOOKUP(F2,Data,3,FALSE)),"",      ADDRESS(MATCH(F2,sData)+CELL("row",Data)-1,CELL("col",Data)+3-1,4)) のようにして計算してみました。 MATCH関数で何行目か検索し、検索範囲の位置を補正して表示しています。

その他の回答 (3)

  • himehime
  • ベストアンサー率37% (133/354)
回答No.4

エラーになっているのが、どのセルか知りたいってことですよね? ツール→ワークシート分析 で、エラーのトレースをクリックすると、 わかります。 (ワークシート分析ツールバーを出しておいてもいいかも。) 参照元のトレースや、参照先のトレースでも出来ます。 (アクティブセルのある位置によって、押すボタンちがってくるので。 矢印の方向でわかると思います。) 1回、2回、と、必要なだけ押してみてください。

  • takao_kw
  • ベストアンサー率30% (14/46)
回答No.2

私も『強引なヤリ方』を1つ・・・(^^ゞ 例えば↓のような配列があったとします。 A B 1 AAA 111 2 BBB 333 3 CCC 555 4 DDD 777 5 EEE 999 そして、セルA10に対応する値を表示させたいのであれば、 =VLOOKUP(A10,A1:B5,2) となると思うのですが、どの『行』を参照したかを表示するには、 =MATCH(A10,A1:A5,0) で持ってこれます。 1行目のセルに『タイトル行』がある場合は、 =MATCH(A10,A1:A5,0)+1 と『+1』をしてやればよいわけです。 更に、『列記号』も表示したいとなれば、 ="B" & MATCH(A10,A1:A5,0)+1 となります。 かなり強引ですけど・・・(^^ゞ ちなみに、MATCH関数の条件『,0』は、値が一致した行を参照しますが、『,1』とした場合「検査値 以下の最大の値」を『,-1』とした場合「検査値 以上の最小の値」が返されます。 VLOOKUPの参照の仕方に併せて、使い分けする必要があります。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 ちょっと強引なやり方ですが、 データのある表に1列追加して、そこにセルの行番号と同じ数字を入力しておきます。 そしてデータを参照する際に、その追加列も同じ条件で(つまりVLOOKUP関数の第3引数の値だけ変える)別のセルに参照結果を表示すれば、参照したセルの行番号がわかります。 とりあえず、力技なので他にスマートな方法を誰か教えてくれるかも知れません。 では。

関連するQ&A