• ベストアンサー

エクセル VLOOKUPの横バージョンはありますか?

2つのシートに分かれている表から計算をしています。 =IF(A13=全体のシミュ!L2,全体のシミュ!L4*合計!B13*合計!C13) こちらの数式を入れていますが、下のセルに数式をコピーすると L2とL4がL3とL5になってしまいます。 これをM2とM4のように横にずらしたいのですが、可能でしょうか? VLOOKUP関数の横バージョンみたいなものがあればできますか?

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

  • ベストアンサー
noname#66264
noname#66264
回答No.4

ごめんなさい。調子に乗りました。 Cupperさんが言っていることの方が正しかったです。 Row関数 指定したセルの行番号を数字で返します。 例:  式     結果 =Row(A1)   1 =Row(B2)   2 =Row(C3)   3 よって    式          結果 =Row(A13)-13+1     1 =Row(A14)-13+1     2 =Row(A15)-13+1     3    …    … のようにフィルを用いてコピーして、基点から何行目なのかを出せます。 Index関数 普通、セルは"C3"など、アルファベットと数字のペアで参照しますが、 行、列を数字で"3,3"のように指定できます。(指定された範囲内で) Index(範囲,行,列) 範囲はA1:C3などアルファベットと数字で指定します。 行、列は数字のみで指定します。 行、列はそれぞれ指定された範囲内での何行目、何列目を数字で示すものです。 例:    式                  結果 =Index($A$1:$C$3,1,1)    A1の値が返される =Index($A$1:$C$3,2,2)    B2の値が返される =Index($A$1:$C$3,3,3)    C3の値が返される 質問者の方の例では、条件が合えば、 Index関数の行を3で固定 指定された範囲から3行目だから、2行下の値を示します。 列をRow(A13)-13+1にします 数式は参照元は何行目かを示しています。 それを参照先の何列目にしたかったというご質問でしたね。 言葉の上でも、何行目を何列目に変えられたということになります。 行と列が指定できます。期待した値を参照できます。

ne-tsu-
質問者

お礼

丁寧にご教授頂きありがとうございました。

その他の回答 (3)

noname#66264
noname#66264
回答No.3

A13の値が別シートのL2の値と一致していれば、 2行下の値を参照して計算したい、ということですね。 次は、 A14(参照先が下のセルにずれる)の値が別シートのM2(参照先が右隣に)の値と一致している。 次は、 (参照先が下に)、(参照先が右隣に)… ということでしょうか。 それならば、式を作ってしまったほうが早いです。 あなたはたぶん式を作れるはずです。 __A_|__B__|_C_|__D___|_____E_____|_F_|_| |__どこか__ "=" | if( | A | 13), | シート名! | L | |略| =A1&B1&C1&… ----|-----|---|------|-----------|---|-| |----------- 上記のような表を作ったとしましょう。 変化させたいところだけ、変化させ、変化させたくないものは変化させずにコピーしましょう。 すべての値を&で結合すると式ができます。 これを値に変更してあげるとお望みのことができると思います。 確認です。 1、コピーの仕方で、文字列はA~Zまで変化させられます。 2、コピーの仕方で、数字も1つずつ増やせます。 3、値を変化させずにコピーできます。 4、&を使って、セルの値を結合させてやることができます。 5、[右クリック]→[形式を指定して貼り付け]→[値]をチェック→[OK](もしくは[Alt+E][S][V][Enter])で数式を値に変換できます。 値貼り付けで、数式になったものはすぐに計算が実行されません。 アクティブ化してやらないといけないからです。 その場合、セルを複数選択して、[F2],[Enter]を連続で繰り返してやることですばやく作業が終了します。 わからないことがあったらどうぞお気軽に聞いてください。

ne-tsu-
質問者

お礼

丁寧にご教授頂きありがとうございました。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

質問のタイトルだけでは 「HLOOKUP関数がありますよ」 と回答されそうですね。 >これをM2とM4のように横にずらしたいのですが、可能でしょうか? >VLOOKUP関数の横バージョンみたいなものがあればできますか? ええと、相対参照をよく理解されていないようですね。 縦方向にコピーすると元の数式で参照されているセルは行番号が変わります。 ですので、縦方向にセルをコピーして参照するセルを横(列方向)にずらすことはそのままではできません。 この場合は、ROW関数や COLUMN関数を使って、参照先のセルが縦・横それぞれどれだけ移動したかを割り出し、 OFFSET関数や INDEX関数などで参照元のセルを指定します。  ※各関数の詳細はExcelのヘルプや関数ウィザードから参照してください。

ne-tsu-
質問者

お礼

丁寧にご教授頂きありがとうございました。

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

横バージョンと言うか縦バージョンはHLookupです。

ne-tsu-
質問者

お礼

ありがとうございました。

関連するQ&A