[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『左から初めて空白ではないセルの時にその上の数値を表示する』(いけっち)
左から初めて空白ではないセルの時にその上の数値を表示する関数を求めています。
A B C D E F
1 6 7 8 9 10 11
2 2
3 3
4 6
5 1
上記の場合、
2の行では左から初めて数字が出てくるのは「2」その際、
1の行の数値(7)を拾いたい関数を求めています。
3の行では、D列である「3」ですので1の行の「9」を抽出したい
4の行では、C列である「6」ですので1の行の「8」を抽出したい
5の行では、A列である「1」ですので1の行の「6」を抽出したい
すみませんがアドバイスをお願い致します。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
確認だけですが・・
1行目は、実際にその数値なんですか?(6から始まる昇順の連番)
各行の数値は、実際に一つだけ入力されているんですか?
(半平太) 2020/01/08(水) 08:46
例えばこんなことかな? =SUMPRODUCT(($A$1:$F$1)*(A2:F2<>"")*1) (SS) 2020/01/08(水) 08:51
最初に出てきたとわざわざあるので、たぶん他にも数字あるのではないかと想像・・・
このくらいしか思い浮かばなかった・・ G2=INDEX($A$1:$F$1,AGGREGATE(15,6,((1/(A2:F2>0))>0)*COLUMN($A$1:$F$1),1)) |[A]|[B]|[C]|[D]|[E]|[F]|[G] [1]| 6| 7| 8| 9| 10| 11| [2]| | 2| | | | | 7 [3]| | | | 3| 1| | 9 [4]| | | 6| | | | 8 [5]| 1| | | | | | 6 (稲葉) 2020/01/08(水) 08:58
G2セルに =INDEX(A$1:F$1,MATCH(1,INDEX((A2:F2<>"")*1,0),0)) で下にフィルコピーでも。 (ねむねむ) 2020/01/08(水) 09:07
Matchなら最初にヒットした値ですもんね! 頭が固くなってました・・・。 勉強になりました。 (稲葉) 2020/01/08(水) 09:36
=LOOKUP(1,0/A2:F2,A$1:F$1)
ゼロ値も対応させるなら
=LOOKUP(1,0/(A2:F2<>""),A$1:F$1) (GobGob) 2020/01/08(水) 11:47
1つの行には複数の数字が入るものとして
G2 =INDEX($A$1:$F$1,MATCH("?*",INDEX(A2:F2&"",0),0)) でも
エラー処理が必要なら ※何も入力されていない場合のエラー G2 =IFERROR(INDEX($A$1:$F$1,MATCH("?*",INDEX(A2:F2&"",0),0)),"")
参考まで (笑) 2020/01/08(水) 12:16
GobGobさんの LOOKUP での関数を採用させていただきました。
VやHのLOOKUPは使用していますが、ただのLOOKUPでこのような対応ができる事を
初めて知りました。
無事、求められましたので改めて感謝いたします。
(いけっち) 2020/01/08(水) 15:10
一応、配列処理なし案。
=INDEX(A$1:F$1,MATCH(SUM(A2:F2),A2:F2)) (GobGob) 2020/01/08(水) 15:57
=SUMIF(A2:F2,SUM(A2:F2),A$1:F$1)
で、いいかもw (GobGob) 2020/01/08(水) 15:59
要するに、1か所にしか入力しないってこと?
1)数式で空白にしていないのなら G2 =SUMIF(A2:F2,"<>",$A$1:$F$1)
2)入力する数字が「0」より大きいのなら G2 =SUMIF(A2:F2,">0",$A$1:$F$1)
3)数式で空白にしていて、マイナスの数字もあるのなら G2 =SUMIF(A2:F2,"<"&10^9,$A$1:$F$1)
4)LOOKUP で G2 =LOOKUP(10^9,A2:F2,$A$1:$F$1)
参考まで (笑) 2020/01/08(水) 16:30
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.