[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『常に一番下の数値を利用する』(よっしー)
例えば下のような表があるとき、
B1からB4の範囲内で
常に一番下の数値(この場合B3)をB5に表示したいのですが
どなたか教えていただければ非常に助かります。
宜しくお願いします。
A B C 1 2 2 6 3 4 4 ------------- 5 4
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(4, 2) <> "" Then Cells(5, 2) = Cells(4, 2): Exit Sub
If Cells(3, 2) <> "" Then Cells(5, 2) = Cells(3, 2): Exit Sub
If Cells(2, 2) <> "" Then Cells(5, 2) = Cells(2, 2): Exit Sub
If Cells(1, 2) <> "" Then Cells(5, 2) = Cells(1, 2): Exit Sub
End Sub
[[20030806101456]]の(kkk)さんの回答を応用してみたんですが、
B5 =INDIRECT(ADDRESS(MATCH(10^17,B1:B4),2))
で答えが出るようです。
で、、、逆質問なんですが(苦笑) MATCH関数に使われている検索値「10^17」は最終データを表すようですが この正しい使い方といいますか、意味を教えていただけないでしょうか(汗)(kuro)
すみません。ちゃんと上記の場所に回答がありました(滝汗) それからもっと簡単な式も・・・ (kuro)
=INDEX(B1:B4,MATCH(10^17,B1:B4))
MATCH で10^17 が最後のデータを表すとは、知りませんでした。 (kazu)
あ〜、、すみません。そうじゃありませんでした。<最後のデータを表す
Match関数が検索する範囲のなかにありえないであろう数値(範囲内の最大値よりも大きい数値)である必要があるだけでした。
MATCH関数の引数に照合の型が指定されていない(1を指定と同じことになり、最大の値を検索する)ため、 検査範囲内にはその値がないので、範囲内にある最後のデータの位置を返してくるというものです。 上記の場合でしたら、検索値は10でもかまわないわけです。いやぁ勉強になりました。(kuro)
そうでしたか、ヘルプみても出てこないのでなぜかなぁと思っていました。 しかし、色々勉強になりますね。 (納得した・kazu)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.