- ベストアンサー
EXCELで0/範囲
お教えください。 1. ネットで調べ、lookup(検索値,0/検索範囲,対応範囲)で逆から検索できることを知りました。 (EXCEL2000で確認、A1:A100のような有限1列範囲ではできたがA:Aではエラー) この0/範囲という記述方法の詳細をお教えください。 2. ネットでLOOKUP(9^99,…のような記述を見かけたのですが意味がわかりません。詳細をお教えください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#262398
回答No.4
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17070)
回答No.3
- ASIMOV
- ベストアンサー率41% (982/2351)
回答No.2
- nattocurry
- ベストアンサー率31% (587/1853)
回答No.1
お礼
ご解説ありがとうございます。理解できました!
補足
A B 1 コード アイテム 2 1003 item01 3 1004 item02 4 1003 item03 5 1005 item04 6 1006 item05 7 1004 item06 8 1003 item07 9 1010 item08 10 1006 item09 ・コードごとに最新のアイテムを算出したい。 ・リストは時間順にソートしてあるとする。(下の行ほど新しい) 例として1003を検索すると、行2, 4, 8が該当し、 最新のアイテムは行8のitem07である。 1) 検索元コードの真偽値配列をつくる A2:A10=1003 配列は{TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE} 2) 0÷TRUEは0、0÷FALSEはFALSE=0のため#DIV/0!エラーとなるのを利用し(1)の配列を変換する。 0/(A2:A10=1003) 配列は{0, #DIV/0!, 0, #DIV/0!, #DIV/0!, #DIV/0!, 0, #DIV/0!, #DIV/0!} 3) LOOKUP関数は、 a) 検索値が見つからないとき、一番最後の値を返す。 b) エラー値は無視する。上記(a)の対象にもならない。 という仕様であるため、(2)の配列に対し0でない値を検索すると最後の0の位置に対応する値を返す。 検索範囲 対象範囲 0 item01 #DIV/0! item02 0 item03 #DIV/0! item04 #DIV/0! item05 #DIV/0! item06 0 item07 #DIV/0! item08 #DIV/0! item09 は、 0 item01 0 item03 0 item07 と見なされ、これに対し1を検索値とすると、最後の値item07が戻り値となる。