[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『一番右側のデータのあるセルを認識して、その上にあるテキストを返す』(エクセル初級)
いつもお世話になっています。
今回は、下記のような問題について、皆様のお知恵を拝借できればと思います。
…C列 D列 E列 F列 G列 H列
―――――――――――――――――――――
2行│5月 6月 7月 8月 9月
3行│ 100 500 200 9月
4行│ 400 6月
5行│ 100 500 8月
6行│ 900 5月
7行│ 300 100 7月
・
・
・
上記のような表があるとします。
解を出したいのは【H列】です。
各行のC列からH列の間で、
一番右側のデータのあるセルを認識して、
(3行目ならG3、6行目ならC6)
その上の2行目のテキストをかえす。
(3行目なら9月、6行目なら5月)
以上、このような関数を作ることは可能でしょうか。
拙い説明ではありますが、ご教授いただければと思います。
何卒、宜敷お願いいたします。
C列からG列のデータが数値なら、
H3=LOOKUP(10^16,C3:G3,$C$2:$G$2)
で。(tora)
追加でお伺いしたいことが2点ほど。
■「10^16」はどのような意味でしょうか?⇒「10の16乗」であることはわかりました。
■また、いちばん左側のデータを認識してかえす(3行目ならば5月、5行目ならば7月)のには、どのような式になりますでしょうか?
宜敷お願いいたします。
LOOKUPは検索範囲の中から10^16以上の数値を探しますが、 見つからない場合は、その範囲の最後の数値を検索します。
したがって、10^16は検索する範囲にある数値より大きい数であれば、何でもかまいません。
また、一番左のデータを認識する場合は、
=INDEX($A$2:$G$2,1,MIN(IF(C3:G3<>"",COLUMN(C3:G3))))
と入力して、CtrlとShiftキーを押しながらEnterで確定します。(配列数式となります) この場合、検索する範囲はC列からですが、 最後に求めるデータの範囲はA列からとしていることに 注意して下さい。 (tora)
お忙しい中、ご回答いただきありがとうございます。
大変助かりました。
また、何かの際には宜敷お願いいたします。
左端はこんな式でも。 =INDEX(C$2:G$2,MATCH(1,INDEX((C3:G3<>"")*1,0),0)) (ねむねむ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.