No.4ベストアンサー
- 回答日時:
配列を扱う関数は、A:Aというように列全体を指定できないです。
エクセルの仕様です。
例
=SUMPRODUCT(A:A,B:B)
だと、エラー。
lookup(検索値,0/検索範囲,対応範囲)というのは、
そのリンク先を見ると
=LOOKUP(1,0/(Sheet1!$A$2:$A$10=A2),Sheet1!$C$2:$C$10)
と、なってます。
(Sheet1!$A$2:$A$10=A2)の部分がミソで、TRUEかFALSEの配列になります。
TRUE = 1
FALSE = 0
で、計算されるので、
0/1 = 0
0/0 = #DIV/0!
0/(Sheet1!$A$2:$A$10=A2)の部分は、0かエラーの配列になります。
LOOKUPはエラー値を無視するようなので、最後の 0 を検索できる仕掛けになってます。
この場合、検索値は 1 でなくても、 0以上なら何でも良いはずです。
この回答への補足
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が戻り値となる。
No.3
- 回答日時:
2は、2^99は2の99乗で、普通シートへ入れる数値としてはこれを超える数値は入れない(と言う前提のために使う)
http://www.excel.studio-kazu.jp/kw/2004052921593 …
に解説例が有る。
Googleで2^99よりむしろ「エクセル "LOOKUP" 9^99」で照会して、出てくる記事を見てください。
http://detail.chiebukuro.yahoo.co.jp/qa/question …
「検査値に一致する値が無いと、検査値以下の値の最大値を検査結果として返す」性質を逆手に取り、わざとありえない値を検査値にすると、検査値以下の値の最大値を捉まえることが出来る、と言うわけです。
1
例データ
A1:B2
3x
3e
F1:G6に
1a
2b
3c
3x
5d
6e
B1の式 =LOOKUP(A1,F1:F6,G1:G6)
B2の式 =LOOKUP(A2,0/F1:F6,G1:G6)
質問からxを期待していたが??
判らない。
>ネットで調べ
類似例のGoogle検索も見つけられなかった。本質問異外は。
この回答への補足
申し訳ありませんでした。私は以下を見つけ本質問をしました。
1.
http://www.efcit.co.jp/cgi-bin2/exqalounge.cgi?p …
2.
http://www.moug.net/faq/viewtopic.php?t=35498
No.2
- 回答日時:
「0/検索範囲」は「逆から」というより、検索範囲でゼロ以上の最後の値を抽出してくる
0を0以外の適当な数値にすると、その数値を検索範囲の数値で割った値で検索されますね
「LOOKUP(9^99」について
9^99はNo1さんの回答通りですが、通常あり得ない大きな数値を指定する事により検索範囲で一番大きな値を検索するという意味だと思います
ご見解ありがとうございます。
配列で割ると、各値で割った値の配列になるということでしょうか?
しかし1ならともかく、0/{10,20,30,40}={0/10,0/20,0/30,0/40}={0,0,0,0}となってしまって意味が無いから違いますよね…
この仕様、呼称があるのでしょうか?検索しようにも"0/"ではうまく検索できなくて困ります。
累乗記号のほうは納得です。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Excel(エクセル) IFとCOUNTIFSの組み合わせのAND条件が偽になる 6 2022/08/27 21:26
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/09 14:54
- その他(Microsoft Office) SUMIFとCOUNTIFの違いについて 4 2022/09/29 14:13
- Excel(エクセル) エクセルVLOOK関数について 3 2022/07/05 08:45
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- その他(スマホアプリ・スマホゲーム) 十七歳未満でも使用できる検索アプリを探しています。 4 2022/05/19 23:45
- Excel(エクセル) エクセルのvlookupについて質問です 3 2023/01/05 15:15
- 糖尿病・高血圧・成人病 推定食塩摂取量 4 2023/03/11 15:16
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Excelの関数LOOKUP(1,0/FIND(....))の意味
Excel(エクセル)
-
初めて0以外の数値が出てきたときの値を表示(EXCEL)
Excel(エクセル)
-
COUNTIFの反対の関数はあるのでしょうか?
Excel(エクセル)
-
-
4
エクセルで空白を無視して一番左にあるセルを参照したい
Excel(エクセル)
-
5
エクセルで、書式設定をして表示させているものを、表示している見たままを
その他(Microsoft Office)
-
6
Excelで、条件と一致する最後のセルを検索したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでファイルの最終更新...
-
Excelに詳しい方! B列が「日...
-
F9キーについて。
-
Excelファイルが開けません
-
シフト表をエクセルで作るとき...
-
Excel関数について教えてくださ...
-
Excel 小さくなったスクロール...
-
計算能力
-
excel2013 MonthDays 関数が使...
-
スプレッドシートの関数につい...
-
Excel 2019 [オプション]の[リボンのユ...
-
Excelのピボットグラフの作り方...
-
エクセルで 自動的に◯や数字を...
-
【EXCEL】画像の黄色部分の抽出...
-
特定の文字列を含む、住所を抽...
-
EXCELの散布図で日付が1900年に...
-
【マクロ】2回実行したら、エ...
-
Excelで表を作ったところに文字...
-
マイクロソフトのPADを使ってい...
-
Excel分数の表示について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報