最古と言わず、その行で入力された一番右の列の(その行の)セルの値のことだろう(途中で空白セルがありえる場合)。関数では行方向でも、列方向でも手こずる課題だ。
ーー
VBAのユーザー関数を使うとすっきりする。
この例で、S列以左で空白でない最も右の列
標準モジュールに下記をコピペ。
Function toleft(a As Range)
Application.Volatile
toleft = Range("s" & a.Row()).End(xlToLeft).Column
End Function
これは例えばS1を選択してENDキー+←キーを押す操作のマクロの記録です。
シートのT1に=toleft(A1)と入れる。
ーー
値を採るなら
Function toleftV(a As Range)
Application.Volatile
toleftV = Range("s" & a.Row()).End(xlToLeft)
End Function
関数は
=toleftv(A1)
ーー
関数では左列から順次空白無く埋まっていかない場合は、配列数式しかないだろうと思う。
お礼
大変参考になりました(^_^; また質問するかもしれませんが、よろしくご指導ください!