【会員アンケートご協力のお願い】抽選で計5名様に役立つ書籍をプレゼント!

Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2019)
VLOOKUPで行番号を指定した値を求めたいです。
投稿日時: 24/11/29 14:37:24
投稿者: 桃太郎7

宜しくお願いします。
VLOOKUの行番号を指定して値を返したいです。
質問
    O    P    R    V    
1    行番頭 行番終 列番    求める値        
2  例 16    89    21    @ 
3                A
    @=VLOOKUP(O$1,ee,21,0)
    A=VLOOKUP(P$1,ee,21,0)
 こんな説明でお分かりでしょうか?
    求める値は回数です。
 
 よろしくお願いいたします。
    

回答
投稿日時: 24/11/29 15:24:26
投稿者: WinArrow

第3引数のeeのレイアウトは、どのようになっているんですか?
 
そのレイアウトを説明し上で、意図する戻り値を説明してください。

回答
投稿日時: 24/11/29 15:43:05
投稿者: Suzu

桃太郎7 さんの引用:
VLOOKUPで行番号を指定した値を求めたいです。

 
	O	P	R	V
1	行番頭	行番終	列番	求める値
2	16	89	21	@ 
3				A
@、Aの位置に
引用:
    @=VLOOKUP(O$1,ee,21,0)
    A=VLOOKUP(P$1,ee,21,0)
が来る認識で良いのでしょうか?
 
その時、VLOOKUPの第一引数の Q1、P1 は 検索する値を指定する引数です。
 
直近のご質問からすると、
 検索範囲となる範囲をセルの値で指定したい
とも読み取れますが、関数の引数からすると違う。
 
それとも、質問文が正であり 被検索範囲をセル値で指定したい という意図なのでしょうか?
 
その場合
 
例えば EE は、A2:U23 であり、開始行 21 を指定したとき
 
 1) 名前付き範囲 ee の セル 21行目 という意味 → A21:U23
 2) 名前付き範囲 ee の 範囲の21行目 という意味 → A22:U23 (A2〜なので、A2から21行目なので22)
 
どちらの意図なのでしょうか?
 
 
回答者にも、判るように、具体的に説明をする様に心掛けてください。

投稿日時: 24/11/29 17:11:16
投稿者: 桃太郎7

Suzu さんの引用:
桃太郎7 さんの引用:
VLOOKUPで行番号を指定した値を求めたいです。

 
	O	P	R	V
1	行番頭	行番終	列番	求める値
2	16	89	21	@ 
3				A
@、Aの位置に
引用:
    @=VLOOKUP(O$1,ee,21,0)
    A=VLOOKUP(P$1,ee,21,0)
が来る認識で良いのでしょうか?
 
その時、VLOOKUPの第一引数の Q1、P1 は 検索する値を指定する引数です。
 
直近のご質問からすると、
 検索範囲となる範囲をセルの値で指定したい
とも読み取れますが、関数の引数からすると違う。
 
それとも、質問文が正であり 被検索範囲をセル値で指定したい という意図なのでしょうか?
 
その場合
 
例えば EE は、A2:U23 であり、開始行 21 を指定したとき
 
 1) 名前付き範囲 ee の セル 21行目 という意味 → A21:U23
 2) 名前付き範囲 ee の 範囲の21行目 という意味 → A22:U23 (A2〜なので、A2から21行目なので22)
 
どちらの意図なのでしょうか?
 
 
回答者にも、判るように、具体的に説明をする様に心掛けてください。

早速のご回答ありがとうございます。
説明が不十分で申し訳無いです。
1)名前BOXで参照範囲をA2:V306までの指定です。
2)のee範囲A16(O1の16)で行番号16行目です、求める値は列21をVLOOKUPで求めたいです。
3)@が表1でAが表2で@表1の16行目、列21をV1に、A表2の89行目、列21をV2に求めたいです。
4)その都度、表1と表2に行番号を入力して求めたいです。
5)表1の行番号はO1セルに、表2の行番号はP1セルに入力します。
 こんな説明ではダメですかね!上手く纏めれなくて申し訳無いです。
  宜しくお願いします。
 
 

回答
投稿日時: 24/11/29 18:02:49
投稿者: んなっと

手抜き質問には手抜き回答。おそらく違うとは思いますが。
 
V1
=INDEX(ee,$O$1,$Q$1)
V2
=INDEX(ee,$P$1,$Q$1)

回答
投稿日時: 24/11/30 09:55:54
投稿者: WinArrow

行番号や列番号の考え方が整理されていないと思われます。
 
単純に行番号というと、シートの左端の番号をイメージします。
(列番号も同じ)
しかし、VLOOKUP,INDEX、COUNIF関数でセルっ範囲を指定した場合は、
セル範囲にの相対行の番号となります。
 
質問者さんが設営している
セルP2の「16」は、どちらかを説明しないと、
質問者さんの意図と異なる可能性があります。

投稿日時: 24/11/30 10:35:43
投稿者: 桃太郎7

WinArrow さんの引用:
行番号や列番号の考え方が整理されていないと思われます。
 
単純に行番号というと、シートの左端の番号をイメージします。
(列番号も同じ)
しかし、VLOOKUP,INDEX、COUNIF関数でセルっ範囲を指定した場合は、
セル範囲にの相対行の番号となります。
 
質問者さんが設営している
セルP2の「16」は、どちらかを説明しないと、
質問者さんの意図と異なる可能性があります。

早速のご回答ありがとうございます。
私も、エクセルはまだまだ不勉強でご迷惑をお掛けしています。
ご指摘の<セルP2の「16」は、どちらかを説明しないと>ですが
「16」は「A16」行目を自分は考えていました。
「89」は「A89」行目迄をVLOOKUPでV21列目を考えていました。
結論、A16のV21の値を求めたいと思っています。
 十分な説明が出来なくて申し訳ありませんでした。
 よろしくお願いいたします。

回答
投稿日時: 24/11/30 11:25:40
投稿者: WinArrow

桃太郎7 さんの引用:

ご指摘の<セルP2の「16」は、どちらかを説明しないと>ですが
「16」は「A16」行目を自分は考えていました。
「89」は「A89」行目迄をVLOOKUPでV21列目を考えていました。
結論、A16のV21の値を求めたいと思っています。

 
VLOOKUP関数に拘らずに、INDEX関数を使えばよいと思います。
但し、「ee」の範囲もシート上の行・列で指定します。
 
 

回答
投稿日時: 24/11/30 11:39:29
投稿者: WinArrow

最初に「ee」のレイアウトを質問したのですが・・・・
回答してほしいですね
 
「ee」範囲がどこなのか?
その範囲の先頭列に、「セルP2」の値が存在するのか?
など、VLOOKUP関数の必要要件が整っていることが大切です。
 
 
 

投稿日時: 24/11/30 12:17:01
投稿者: 桃太郎7

WinArrow さんの引用:
最初に「ee」のレイアウトを質問したのですが・・・・
回答してほしいですね
 
「ee」範囲がどこなのか?
その範囲の先頭列に、「セルP2」の値が存在するのか?
など、VLOOKUP関数の必要要件が整っていることが大切です。
 
 
 

早速のご回答ありがとうございます。
「ee」の質問は、11/29のSuzuさんからもありまして回答をしていますが
名前ボックスで「EE」を登録して、現在使用しています。
「セルP2」は行番号で列番号ではないです。
名前ボックスEEのV列の21番目と考えています。
よろしくお願いいたします。

回答
投稿日時: 24/11/30 13:21:43
投稿者: WinArrow

「ee」の範囲は

引用:

1)名前BOXで参照範囲をA2:V306までの指定です。

ということでしょうか?
 
この時の説明で
「ee」の16行目と説明しています。
シートの16行目と「ee」の16行目は、違うということは理解して貰えたんですよね?
 
引用:

「セルP2」は行番号で列番号ではないです。

なにか誤解されていませんか?
「ee」の先頭列は、A列ですよね?
このA列のセルの中に、セルP2の値(16)が存在するのか?
という質問しtんですが・・・
 
それから、「V列」を21と考えていませんか?
 
列を数値で指定する場合は、22になると思いまあうが・・・
確認してみてください。

回答
投稿日時: 24/11/30 13:55:15
投稿者: WinArrow

セルO1,P1,R1
の値が、範囲:EEではなく、シートの行/列であるという前提で、
  
範囲:EEには関係のない数式(関数)を紹介します。
  
  
@=INDIRECT(ADDRESS(O1,R1))
➁=INDIRECT(ADDRESS(P1,R1))
 

投稿日時: 24/11/30 14:27:15
投稿者: 桃太郎7

早速のご回答ありがとうございました。
これからもよろしくお願いします。