電子書籍の厳選無料作品が豊富!

先週より新しい職場で働いております。
下記のような関数が使われている表があるのですが、どういう意味になるのでしょうか。

=HLOOKUP(A1,$1:$30,ROW()-8,FALSE)

この関数は実際の関数ではありません。
確かこんな関数だったなあと思い出しながら書いているので、もしかしたら変かもしれません。
ポイントは、

範囲=セル番地指定ではない(行範囲指定?)
行番号=数値ではなくROW関数で指定


になっているところです。

お手数をおかけしますが、宜しくお願いいたします。

A 回答 (3件)

こんにちは!


まず HLOOKUP関数の意味ですが
HLOOKUP(検索値,範囲,行番号,検索の型)
というコトになりますので、

お示しの数式だと
検索値=A1
範囲 =$1:$30(列番号がなく、1~30行の範囲)
行番号=ROW()-8 ← 範囲指定した1行目が検索値ですので、2以上の行番号を返すのが普通
すなわち10行目以降のみ有効な数式というコトになります。
おそらくオートフィルで下へコピーするためだと思われます。
検索の型=そのままFALSE型

というコトになります。

↓の画像の場合、B10セルに
=HLOOKUP(A10,D$1:G$5,ROW()-8,0)
という数式を入れオートフィルで下へコピーしています。

※ 範囲指定が5行分だけしかしていませんのでオートフィルをした場合
4行分だけ有効データがかえってきます。

お示しの数式の場合は10行目に数式を入れ
29行分はオートフィルしても有効データが返る(範囲指定内)というコトです。

※ 通常数式内に ROWもしくはCOLUMNを使用する場合オートフィルコトが多いと思います。

こんなんで参考になりますかね?m(_ _)m
「関数の意味(HLOOKUPとROW関数)」の回答画像3
    • good
    • 0
この回答へのお礼

tom04さん、ありがとうございます。
画像までつけて説明してくださり、大変わかりやすかったです。
オートフィルで下までコピーしたい場合にrowなどは使うことがあるのですね。
勉強になりました。
ありがとうございます。

お礼日時:2012/09/30 22:34

記憶で書いている数式ということで、その式はそのままでは意味のない数式ですが、とりあえずそれは置いておいて。





>質問1
1行目から30行目までの範囲の全部のセルを対象に計算します。全く問題ありません。

例:
=MAX(A:A)  ’A列の全部のセルの中の最大値
=MIN(1:2)  ’1行目と2行目の全部の中の最小値



>質問2
まずHLOOKUP関数について。
HLOOKUP関数は対象範囲の先頭行で、検索値を探します。
いまは1行目から30行目までを対象にしているので、1行目が検索値を探す範囲です。
そこで一致するセルを見つけたら、そのセルから下がって「指定行数目」のセルを取ってきます。
数式では、ROW()-8の部分です。


次にROW()関数について。
その形式では、ROW()関数は数式が置かれているセルの行番号を計算する関数です。
仮にHLOOKUP関数(の中のROW()関数)が10行目のセルに書いてあれば10、20行目にあれば20になります。

ポイントは、そのHLOOKUP関数の式を「下向けにコピーする」と、ROW()-8の部分の結果が順繰り1ずつ増えていきます。
10行目に最初の数式があれば「ROW()-8」は2になります
11行目にその数式があれば「ROW()-8」は3になります
12行目に数式があれば「ROW()-8」は4になります

HLOOKUP関数でヒットしたセルの、縦ヒトカタマリをまとめて持ってきたいといった時に、そういう使い方をよくします。
    • good
    • 0
この回答へのお礼

keithinさん、ありがとうございます。
ちゃんとした式でなくてすみません。

しかし、よくわかりました。
ありがとうございます。

お礼日時:2012/09/30 22:33

>範囲=セル番地指定ではない(行範囲指定?)


その行の左端から右端まで、すべてを指定していることになります。

>行番号=数値ではなくROW関数で指定
ROW()は、現在の(その式が書かれている)セルがある行番号を返す関数です。ROW()-8なので、現在の行より8行上の行になります。

したがって、関数全体は
 第1行の左端から右端まで検索してA1と同じ値を探し、
 それと同じ列にあって、現在の行より8行上の行のデータを得る
という意味になります。
    • good
    • 0
この回答へのお礼

foomufoomuさん、ありがとうございます。
Row関数がよくわからなかったのです。
自分でも調べてみたのですが、本当にそれで合っているのか疑問でした。
教えていただき、大変助かりました。

お礼日時:2012/09/30 22:32

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