2017-06-28 34 views
0

私はテーブルから注文の1,2,3および4年目の収入を計算しようとしています。テーブルから2番目、3番目、4番目の値を取得する

私は、テーブル内の最初の非ゼロ値を返すためのGoogleスプレッドシートで数式を作成しました:

=ARRAY_CONSTRAIN(ARRAYFORMULA(INDEX(3:3,,SMALL(IF(J3:R3<>0,COLUMN(J3:R3),""),1))), 1, 1) 

これは私がする必要がある仕事をしていませんが、私は式を適応するかどうかはわかりません最初の値の代わりに2番目または3番目の値を取得します。

誰でも正しい方向に向けることができますか?

答えて

2

あなただけ変更することができるはず最初の1から2、3などそれはあなたがこのようにそれを行うところで場合

=INDEX(3:3,,SMALL(IF(J3:R3<>0,COLUMN(J3:R3),""),2)) 

を包む配列数式なしで私の作品

=ARRAY_CONSTRAIN(ARRAYFORMULA(INDEX(3:3,,SMALL(IF(J3:R3<>0,COLUMN(J3:R3),""),2))), 1, 1) 

あなたは最初、2番目、3番目などを取得するために横断することができます

=INDEX(3:3,,SMALL(IF($J3:$R3<>0,COLUMN($J3:$R3),""),columns($A:A))) 
+0

おかげでトム!それは私が必要としたものです。 唯一の問題は、列がSmallインデックスを超えたときにNULL参照を取得することです。 どのように私はそれを回避することができますか? –

+0

特にこのエラーです。 機能SMALLパラメータ2の値2が範囲外です。 –

+0

ああ、IFERRORステートメントを使って考えました。 –

関連する問題