- 締切済み
Excel。lookupとROWSの併用?
参照表が別シートにあるとき。範囲指定がおかしいのだとは思うのですが、判らなくなります。正しいものを教えてください。 シート1が、参照表として、大きな表が完成している状態。 A商品名、B列に単価、C列に仕入れ個数、D列に金額という表です シート2に、そのうちの一部を切り取ったような表をLOOKUP絶対参照を用いて作れ。というものです。 シート2には検索値になる商品名だけがA列に入っています。 なお 参照表の商品名はA5から入っていますが、 今回シート2に取り出すのはシート1でA8~A12にある5商品分をLOOKUPとROWS関数の複合で作れとのこと。 (これは練習問題ですので、もっと効率いい方法があってもこちらをまず教えてください) シート2のB8入力する式は?(A8は商品名がすでに埋まっています。だからこれが検索値) VLOOKUP=$A8,シート1の表全体を絶対参照,ROWS(この範囲がどんな風に指定すべきか解らない。),2,0)と入力するとなぜか、B8にもA8の商品名が出てくる。 ちなみにCOLUMN関数はうまく行くので、一行ごとなら引っ張ってこれるんですシート1から。 VLOOKUP=($A8,シート1絶対参照,COLUMN(B:B),0)で単価がちゃんと出て、その後フィルで仕入れ個数等を出すことはでしました。 たてに使うROWSになると、ちょっと混乱しています あ、もう一度言います。 参照元のシート1は、表そのものはA5から始まっていて、今回取り出したいのは8 ~12行目です。 ただしシート2では、シート2のA5にシート1のA8の商品が入っています この辺り(シート1ではA8のものをシート2の5行目に引用したいばあい。またそれが成功したら縦に何行かフィルで対応したい場合) の基本的なROWSの範囲指定の考え方を、正解の式と共に教えてください
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- bunjii
- ベストアンサー率43% (3589/8249)
>今回シート2に取り出すのはシート1でA8~A12にある5商品分をLOOKUPとROWS関数の複合で作れとのこと。 LOOKUP関数とVLOOKUP関数は異なりますので正確に表現してください。 尚、VLOOKUP関数とROWS関数だけでは目的の値を抽出できませんのでTRANSPOSE関数の使用が許可されていなければなりません。 >この辺り(シート1ではA8のものをシート2の5行目に引用したいばあい。またそれが成功したら縦に何行かフィルで対応したい場合) の基本的なROWSの範囲指定の考え方を、正解の式と共に教えてください シート1のA8の商品名がシート2のA5に入力されたときのB5の数式を知りたいのですか? 回りくどい説明をすると正しい数式を考え難くなります。 考え方としてはROWS関数で求められた値を列番号に置き替えるには行列を入れ替える必要があり、TRANSPOSE関数で行と列を入れ替えます。 B5=VLOOKUP($A5,Sheet1!$A$5:$D$24,ROWS(TRANSPOSE($A$5:B5)),0) 但し、この数式はROWS関数に渡される値が配列値なので数式を確定するときにShift+Ctrl+Enterの同時打鍵が必要になります。