[[20160615115044]] 『lookupで列の最初の値は拾えますか?』(chiki) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『lookupで列の最初の値は拾えますか?』(chiki)

A列に数値がランダムに入力されています。
一番最後の値は
=lookup(10^10,A:A)
で拾えるということをこのExcelの学校で知りました。

lookupでなぜ最後の値が拾えるのかは、lookup関数が二分検索をしているからで
検索範囲にないような大きな値を検索値にしていると、二分検索しながら最後の値に行き着くのだと
納得したのですが。

同じ理論で最初の値は拾えないのでしょうか。
=lookup(-10^9,A:A)
検索範囲にないような小さい値を検索値にすればいいのかと思ったのですが、
これだとNAが返ってきます。

私がまったくとんちんかんな理解をしているとも思いますが、
理屈がお分かりの方いらっしゃったら教えていただけないでしょうか。
よろしくお願いします。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 そもそもLOOKUP関数のヘルプに
 >検査値 が見つからない場合、検査範囲内で検査値以下の最大値が、一致する値として使用されます。 
 >検査値 が検査範囲に含まれる最小値よりも小さい場合は、エラー値 #N/A が返されます。 
 と書かれているように基本は検索値以下で最大の値を検索する関数。

 なのでchikiさんのやりたいことはLOOKUP関数の仕様を無視した用途ということになる。
(ねむねむ) 2016/06/15(水) 11:58

そもそも、末尾はデータ数に応じて変わりますが、先頭は変わらないわけで、単純なセル参照で判るかと。
(???) 2016/06/15(水) 12:00

 =INDEX(A1:A100,MATCH(1,INDEX((A1:A100<>"")*1,0),0))
 とか。

(ねむねむ) 2016/06/15(水) 12:07


早速の回答ありがとうございます。
>ねむねむさん、ヘルプをよく読まずに質問して申し訳ありませんでした。
>???さん、先頭も空白セルがあったりしていつも1行から始まるというわけではないので、このような質問になりましたが、ねむねむさんが提示してくださったINDEXとMatch関数で先頭の値が取れることがわかりました。

ありがとうございました。
(chiki) 2016/06/15(水) 13:07


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.