![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.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](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/3/667667_5497f0be2189b/M.jpg)
tom04さん、ありがとうございます。
画像までつけて説明してくださり、大変わかりやすかったです。
オートフィルで下までコピーしたい場合にrowなどは使うことがあるのですね。
勉強になりました。
ありがとうございます。
No.2
- 回答日時:
記憶で書いている数式ということで、その式はそのままでは意味のない数式ですが、とりあえずそれは置いておいて。
>質問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関数でヒットしたセルの、縦ヒトカタマリをまとめて持ってきたいといった時に、そういう使い方をよくします。
keithinさん、ありがとうございます。
ちゃんとした式でなくてすみません。
しかし、よくわかりました。
ありがとうございます。
No.1
- 回答日時:
>範囲=セル番地指定ではない(行範囲指定?)
その行の左端から右端まで、すべてを指定していることになります。
>行番号=数値ではなくROW関数で指定
ROW()は、現在の(その式が書かれている)セルがある行番号を返す関数です。ROW()-8なので、現在の行より8行上の行になります。
したがって、関数全体は
第1行の左端から右端まで検索してA1と同じ値を探し、
それと同じ列にあって、現在の行より8行上の行のデータを得る
という意味になります。
foomufoomuさん、ありがとうございます。
Row関数がよくわからなかったのです。
自分でも調べてみたのですが、本当にそれで合っているのか疑問でした。
教えていただき、大変助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/09 14:54
- Excel(エクセル) Excelでなぜこのような式をつかっているのでしょうか、行に1,2,3と連番を振るだけなのに 5 2023/04/08 20:00
- Excel(エクセル) エクセル 指定セル繰り返しマクロ 4 2022/06/06 17:08
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Excel(エクセル) Excel 、この式はどのように解釈すればいいのでしょうか 4 2023/02/03 08:53
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/02/10 15:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoftにofficeアプリについ...
-
【スプレドシート】IMPORTRANGE...
-
大学のレポート A4で1枚レポー...
-
Office2021を別のPCにインスト...
-
英数字のみ全角から半角に変換
-
会社のPCに入っているExcelでバ...
-
複数の写真を1枚に印刷
-
Windows 11で、IME言語バー(IM...
-
以下マクロの処理を最終行まで...
-
エクセルでXLOOKUP関数...
-
Microsoft Formsの「個人情報や...
-
Outlook で宛先が複数の場合の人数
-
teams設定教えて下さい。 ①ビデ...
-
Microsoft365で写真をアルバム...
-
SUMIFS関数について
-
VBAファイルの保存先について
-
エクセルで英文字に入れた下線...
-
PCを買い換えました。 今使って...
-
Excel 日付を比較したら、同じ...
-
Excel VBA 日程表からスケジュ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
「生産性ソフトウェア」とは何...
-
会社PCのメールが更新されない
-
【関数】○年○ヶ月と表示された...
-
WEBの記事を印刷する際にA...
-
エクセルでXLOOKUP関数...
-
Microsoft familyに追加されま...
-
会社のOutlookにてメールを予約...
-
Microsoft Formsの「個人情報や...
-
Microsoft365の一部を解約したい
-
マクロ自動コピペ 貼り付ける場...
-
Outlook で宛先が複数の場合の人数
-
outlookのメールが固まってしま...
-
【Excel VBA】PDFを作成して,...
-
大学のレポート A4で1枚レポー...
-
office365って抵抗感ないですか?
-
Microsoftにofficeアプリについ...
-
Excel テーブル内の空白行の削除
-
マイクロソフト 一時使用コード...
おすすめ情報