dポイントプレゼントキャンペーン実施中!

エクセル関数で、複数セルの最右の数値を求めたいのですが、この複数セルが飛び飛び(例えば「A1,D1,G1・・・」)という具合では、どのような関数でどのように範囲指定をすれば良いのでしょうか?

A 回答 (6件)

こんなんでもいいかも


=LOOKUP(9^9,1:1)
    • good
    • 0
この回答へのお礼

求めている回答がなかなか出ない(笑)ので、質問し直しました。

お礼日時:2015/02/06 09:26

=SUMPRODUCT(MAX((1:1<>"")*COLUMN(1:1)))

    • good
    • 0
この回答へのお礼

求めている回答がなかなか出ない(笑)ので、質問し直しました。

お礼日時:2015/02/06 09:25

こんばんは!


すでに回答は出ていますので、参考程度で・・・

表示したいセルに
=INDEX(1:1,,MAX(IF(1:1<>"",COLUMN(1:1))))
これは配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → 表示したいセルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。

※ エラー処理はしていませんので、
データがない場合は「0」が表示されます。m(_ _)m
    • good
    • 0
この回答へのお礼

求めている回答がなかなか出ない(笑)ので、質問し直しました。

お礼日時:2015/02/06 09:25

こんにちは。



一行目なら、このようになります。

=INDEX(1:1,1,MATCH(10^6,1:1,1))
※注意、この数式は、1行目に置くと、循環参照エラーになります。

MATCH関数を利用しています。
1:1は、1行全体の意味です。
10^6というのは、ダミーの数字で、もし、それ以上の数値を使うなら、もっと大きな数字にしなければなりません。

フィルハンドル・コピーでも、そのままでだせます。
    • good
    • 0
この回答へのお礼

求めている回答がなかなか出ない(笑)ので、質問し直しました。

お礼日時:2015/02/06 09:25

質問文を言い換えると


1.ある行の最終列の値を求めたい
2.但し間に空白のセルが存在する
という2条件を満たす関数はありませんか?という意味と思うのですが,
その場合は関数ではなくVBAで求める事ができます.

コード内容としては例えば1行目であれば
Cells(1, Columns.Count).End(xlToLeft).Value
2行目なら
Cells(2, Columns.Count).End(xlToLeft).Value
で求まります.

例えば標準モジュールに以下構文を入れればマクロ実行時にメッセージボックスに最終列の値が表示されますよ.

Sub clmn()
MsgBox Cells(1, Columns.Count).End(xlToLeft).Value
End Sub
「エクセル関数で、複数セルの最右の数値を求」の回答画像2
    • good
    • 0
この回答へのお礼

すいません。VBAは使えないので、数式や関数で導きたいのです・・・

お礼日時:2015/02/04 14:31

こんにちは。



セルをどうやって決めているのですか?最右のセルは自分で分かるのでは?
分かれば(例えばZ1) =Z1 とかで分かります。 
    • good
    • 0
この回答へのお礼

この表では、この質問に該当するセル(列)の間に別の数値(列)があり、これら別の列を除いた最右の数値を書き出すようにしたいのです!

お礼日時:2015/02/04 14:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!