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

A 回答 (4件)

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関数で何行目か検索し、検索範囲の位置を補正して表示しています。
    • good
    • 0

エラーになっているのが、どのセルか知りたいってことですよね?


ツール→ワークシート分析
で、エラーのトレースをクリックすると、
わかります。

(ワークシート分析ツールバーを出しておいてもいいかも。)

参照元のトレースや、参照先のトレースでも出来ます。
(アクティブセルのある位置によって、押すボタンちがってくるので。
矢印の方向でわかると思います。)

1回、2回、と、必要なだけ押してみてください。
    • good
    • 0

私も『強引なヤリ方』を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の参照の仕方に併せて、使い分けする必要があります。
    • good
    • 0

こんにちは。

maruru01です。

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QEXCELでセル参照の際に、参照元セルの色を参照先セルの色を反映させたい。

はじめて質問します。宜しくお願いします。
現在の手書き伝票をEXCELで再現・作成したいと考えております。
手書き伝票は、複写式で合計4枚になります。
経費削減のため、SHEET1の1枚入力欄に記入すると、
SHEET2に入力内容が反映され、印刷ではA3用紙1枚が出力され、
印刷したものをカッターで4分割して4枚として使用したいです。

現在は、会社名や住所、電話番号の変更があった際は、伝票横の余白に「⚪︎⚪︎変更あり」と
かいておりますが、文字が見にくくなったり、見落としたりする可能性があります。
EXCELでは変更のあったセルをわかりやすくしたいのです。
ただし、カラーは使用せず、白黒のみとしたいので、
「太字・斜体・変更したセルを薄いグレーの網かけにする」を考えています。

しかし、セルの参照では、参照元セルの文字だけが参照先セルに入力され、
参照元の書式が反映されなくて困っています。

そこで、皆様のお知恵をお借りしたいのですが、
EXCELのVBAはわかりませんので、できるだけ簡単なものでできると助かります。
VBAが必要でしたら、勉強しますので、できるだけわかりやすくお願いします。

最後に、上記のような伝票を作成する上での注意点などがありましたら、
あわせてアドバイス頂けますと大変嬉しいです。

何卒、宜しくお願いいたします。

はじめて質問します。宜しくお願いします。
現在の手書き伝票をEXCELで再現・作成したいと考えております。
手書き伝票は、複写式で合計4枚になります。
経費削減のため、SHEET1の1枚入力欄に記入すると、
SHEET2に入力内容が反映され、印刷ではA3用紙1枚が出力され、
印刷したものをカッターで4分割して4枚として使用したいです。

現在は、会社名や住所、電話番号の変更があった際は、伝票横の余白に「⚪︎⚪︎変更あり」と
かいておりますが、文字が見にくくなったり、見落としたりする可能性があり...続きを読む

Aベストアンサー

一案です。
一枚分の入力の作業が終わったら
一枚部分の範囲を選択、コピー
A3全体を選択
張り付け、形式を選択して貼り付け
書式にチェックを入れて OK

これで良ければマクロの記録で
VBA化してみてください。

QVLOOKUP関数の結果セルの右下のセルを表示したい

VLOOKUP関数について、質問させてください。
現在使っているエクセルのブックのセルA1にVLOOKUP関数を使用し、そのVLOOKUPの「範囲」の部分に、別のブックの範囲を入力しました。
そしてその別ブックの中の、VLOOKUPの検索値に該当するセル(ここでは※とします)の値が、現在使っているブックのセルA1に表れるところまでは出来ました。
しかし、今度は現在のブックのセルA3に、別ブックの※セルを基準に、右方向に1つ・下方向に1つ移動したセルの値が自動的に表示されるような関数を出さなくてはならず、OFFSET関数やADDRESS関数など、色々試してみたのですが分かりません。

遅い時間に申し訳ありませんが、関数にお詳しい方は、どうか知恵をお貸しください。
よろしくお願いします。

Aベストアンサー

こんばんは!
すでに回答は出ていますので、
重複すると思いますが、
一例です。

↓の画像ではSheet1のA1セルに
C1セルを参照して2列目の一致するものを返すようにしています。

=VLOOKUP(C1,Sheet2!A1:C10,2,0)
という数式が入っています。

A3セルには
=OFFSET(INDEX(Sheet2!B1:B10,MATCH(C1,Sheet2!A1:A10,0)),1,1)
という数式を入れています。
結局A1セルはA#セルに関して、意味はなく
必要なくなってしまいますね!

尚、エラー処理はしていません。

以上、参考になれば幸いです。m(__)m

Qエクセル VLOOKUPで参照元を入力しなおさないと反映されない

お世話になります、お知恵をくだされば幸いです。

エクセル2007で、別のアプリケーションからxls形式で出力したデータに、列を追加してvlookup参照を行います。
sheet1においてA列に参照元があり、B列に表示させるのは、参照先であるsheet2のA列に合致した場合にsheet2のB列のデータを表示させると考えてください。

現在の状況は、sheet1のA列を書き直さないと、#N/Aとなってしまいます。
A列のセルの表示設定は標準でも文字列でも状況は変わらず、唯一同じ内容で書き換えたときに参照されてB列に反映されます。
同様にA列のセルを選択後にフォーミュラバーに表示されるセルの内容を選択してctl+Cし、enterを押せば、入力したとみなされてB列に反映されます。
セルのコピペではNGです。

行数が3000を超えているので、逐一そのような操作もできず、一括で書き換えもしくは解決する手段を探しています。
因みにA列を全く別のsheetにコピー、それを張り付けても変化はありません(値のみでも)。
どうぞよろしくお願いします。

お世話になります、お知恵をくだされば幸いです。

エクセル2007で、別のアプリケーションからxls形式で出力したデータに、列を追加してvlookup参照を行います。
sheet1においてA列に参照元があり、B列に表示させるのは、参照先であるsheet2のA列に合致した場合にsheet2のB列のデータを表示させると考えてください。

現在の状況は、sheet1のA列を書き直さないと、#N/Aとなってしまいます。
A列のセルの表示設定は標準でも文字列でも状況は変わらず、唯一同じ内容で書き換えたときに参照されてB列に反映さ...続きを読む

Aベストアンサー

Sheet1のA列のデータは他からコピーしたデータですね。だとしたらB1セルには次の式を入力して下方のオートフィルドラッグしてはどうでしょう。
=VLOOKUP(SUBSTITUTE(TRIM(A1),CHAR(9),),Sheet2!A:B,2,FALSE)

QExcelの参照か、VLOOKUPでできるか

Excelの参照か、VLOOKUPでできるか
わかりませんが教えてください。

MS2007です。

画像を見てください。
一番左に「1」これは日にち。5月なら5/1と考えてください。

次に塗り潰した縦のアルファベット。これが項目。

次には「A1」から始まる数字が付属した縦のデータセルがK列まで11列。
L,O,R,U,X,L1もデータが入ります。

このシートはFAX用となっていて二分割して
作成した表示になっていますが本来は下の部分も横にくっついて一列です。
シート5月には同じつくりのシートがあり「1」(日にち)に付随した
横一列の形式で作成してあり、それは縦に1~31、
つまりは5/31までデータが入力できる連続したつくりになっています。

この「5月」のシートのデータを、日にちごとに「FAX用」の表の枠に自動で移る(参照?)
出来るようにしたいのですがよくわかりません。

たとえば、「5月」シートの5/1の「1」を「2」にすると「2」(5/2)に付随したデータが
「FAX用」の「1」を「2」にすると付随した横列に自動で数値が反映される感じです。

よろしく御願いします。

Excelの参照か、VLOOKUPでできるか
わかりませんが教えてください。

MS2007です。

画像を見てください。
一番左に「1」これは日にち。5月なら5/1と考えてください。

次に塗り潰した縦のアルファベット。これが項目。

次には「A1」から始まる数字が付属した縦のデータセルがK列まで11列。
L,O,R,U,X,L1もデータが入ります。

このシートはFAX用となっていて二分割して
作成した表示になっていますが本来は下の部分も横にくっついて一列です。
シート5月には同じつくりのシートが...続きを読む

Aベストアンサー

FAX用シートにお望みの月のシートからお望みの日付のデータを引っ張ってくる操作は次のようにすればよいでしょう。
初めに各月のシートはA3からA6のセルが結合されて1が、A7からA10セルが結合されて2がというようになっており、各日のデータは横の列に並んでいるとします。
シート名は5月なら5月となっているとします。
FAX用シートでは例えば5月1日のデータを表示する場合にはA2セルに表示させたい月を5月と文字入力します。
その上でA3セルからA6セルが結合されている状態のセルに1日のデータであれば1と入力します。
この月と日にちが入力された状態で該当月の日付でのデータを右横列に表示させるにはB3セルに次の式を入力してB6セルまでオートフィルドラッグしたのちに右横方向にもオートフィルドラッグします。

=INDIRECT("'"&$A$2&"'!R"&4*$A$3-2+ROW(A1)&"C"&COLUMN(B1),FALSE)

結合セルにするなどの操作はその後に行うことでよいでしょう。また、FAX用では列の後半のデータが下の行などに移していますがそれは、お示しした式を変更して使うことで対応できるでしょう。

これでA2セルにお望みの月を、A3セルに日にちを数値で入力することでお望みのデータを表示することができますね。

FAX用シートにお望みの月のシートからお望みの日付のデータを引っ張ってくる操作は次のようにすればよいでしょう。
初めに各月のシートはA3からA6のセルが結合されて1が、A7からA10セルが結合されて2がというようになっており、各日のデータは横の列に並んでいるとします。
シート名は5月なら5月となっているとします。
FAX用シートでは例えば5月1日のデータを表示する場合にはA2セルに表示させたい月を5月と文字入力します。
その上でA3セルからA6セルが結合されている状態のセルに1日のデータで...続きを読む

QVLOOKUPのように、画像データを参照可能?

 
社員情報を閲覧できるエクセルを作成しています。

社員IDをA1セルに入力すると、
そのページの
 住所
 電話番号
 生年月日 
 ・・・といった情報が、vlookupで反映されるように作りました。
 
 「本人写真」も、同様の処理ができないかを検討中です。
 これをマクロで実行する方法はありますでしょうか?
 
 アドバイスをよろしくお願いいたします。

 

Aベストアンサー

>社員IDをA1セルに入力すると、
なので Worksheet_Changeイベントで処理を行いました。

>別のマクロ作業に・・・ 「スピナー」によってA1セルの数値が増減したとき
ならWorksheet_Changeに変わりCalculateイベントを使われては如何でしょうか

Private Sub Worksheet_Calculate()
  Dim myPath As String, fn As String

  myPath = "C:\pic\"
  fn = Range("B6").Value
  With Me.OLEObjects("Image1").Object
    .Picture = LoadPicture(myPath & fn)
    .PictureSizeMode = 3
  End With
End Sub

※ Worksheet_Changeイベント、Worksheet_Calculateイベントは
  どの様な時に実行されるプロシージャかは、ご自分で調べてくださいね。


このカテゴリの人気Q&Aランキング

おすすめ情報