Excelで値が入力されている右端の値を取得する

Pocket

セル範囲A1:H1について値が入力されているセルのうち右端の値を取得する方法です。

INDEXとCOUNTを使う方法

=INDEX(A1:H1,COUNT(A1:H1))

INDEXはある範囲についてその何番目かを指定して値を取得する関数です。
COUNTはある範囲について値がセットされているセルの数を数える関数です。
8個のセルのうち値がセットされているセルが5個ならば5番目のセルの値を取得します。
通常はこれでうまくいきますが、途中に空のセルがあると正しく動作しません。

INDEXとMATCHとMAXを使う方法

=INDEX(A1:H1,MATCH(MAX(A1:H1)+1,A1:H1,1))

MATCHは、3番目の引数を「1」とする場合、ある範囲について指定した値以下の最大の値を検索し、それが何番目かを返します。
MAXはある範囲について最大値を取得する関数です。
これは途中で空のセルがあっても正しく動作します。
また「MAX(A1:H1)+1」と紹介しているサイトが多いですが、試した限りでは「MAX(A1:H1)」でも同じでした。

ユーザー定義関数を使う方法

=LASTVALUE(A1:H1)

コードは次の通りです。

Function LASTVALUE(a)
    LASTVALUE = ""
    For Each x In a
        If x.Value <> "" Then
            If x.Column > max_col Then
                LASTVALUE = x.Value
                max_col = x.Column
            End If
        End If
    Next
End Function

[ 2017年10月12日 | カテゴリー: Excel | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報