- ベストアンサー
Excel関数で
ある範囲を指定して、その中で一番右側に入っている値を取り出す 式を入れています。 =IF(COUNT(A4:G4),LOOKUP(MAX(A4:G4)+1,A4:J4),"") 更に別の場所に、指定した範囲の一番右側に入っている値の、一番上の列に入っている値を求めたいのですが、 どうしたらいいのでしょうか? 例えば・・・ 指定範囲 A4:G4 この範囲の一番右の値が入っているセルが、C4 だとした場合、 C1 に入っている値を求めたいということです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>一番上の列に入っている値を求めたいのですが ◆一番上=1行目であれば =IF(COUNT(A4:G4),INDEX(A1:G1,MATCH(MAX(A4:G4)+1,A4:G4)),"") または、 =IF(COUNT(A4:G4),INDEX(A1:G1,MATCH(10^10,A4:G4)),"")
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
A1:H1 にA-Hを入れておく(結果がわかりやすいよう便宜上) A4:H4で たとえば A4=1、C4=2、C4=3とすると =OFFSET($A$1,0,MAX(IF($A4:$H4="","",COLUMN($A4:$H4)))-1) と入れて、SHIFT+CTRL+ENTERで(配列数式) 結果d 第4行で値を入れたり、DELで消したりして、テスト済み。 配列数式の方が下記の意味を考えるとわかりやすい。 A4*H4までのセルをそれぞれ空白かどうか聞き、空白でなければ、その列数をメモし、そのメモした列数の最大=最右の列を得る。 あとはOFFSET関数で、A1セルからの隔たりでセルを指定の仕掛けにする
- merlionXX
- ベストアンサー率48% (1930/4007)
もっとスマートなやり方があるとは思いますがとりあえず・・・・。 =IF(COUNT(A4:G4),INDEX(A1:G1,MATCH(LOOKUP(MAX(A4:G4)+1,A4:G4),A4:G4,0)),"")