2016-12-02 5 views
1

ArrayFormulaを明確にすることを望んでいるので、私に同行してください。私はLast Non-Empty Cellの値をつかんですぐ上のセルの値を引くために、次の数式を使用しています。ルックアップ配列差を計算する数式

=ArrayFormula((LOOKUP(2,1/(NOT(ISBLANK(Sheet3!A:A))),Sheet3!A:A))-INDEX(Sheet3!A:A, CountA(A:A)-2,1)) 

私は、対応する列の最後の非空のセルを識別するために、垂直方向のリストから名前を一致させるためにHLOOKUP機能を使用したいと思います。下の数式で '名前'列から正しい値を取得できますが、これをArrayFormulaにどのように統合するかはわかりません。

=HLOOKUP(A4,Sheet3!A1:E30,1,FALSE) 

正しい式が'Data Test'!A:A

に名を含む列の最後の空白以外のセルの値を取得する必要があり、参照用のサンプルシートを参照してください:私は理解してData Test

答えて

1

方法データは、各列の範囲が連続していると仮定することは合理的です。

また、これらの数式の一部がArrayFormulaeで機能しないため、すべてのユーザーの補助金の変更を個別に計算する必要があります。

この式は、それぞれの列の最後の行と最後の行の2番目の行を見つけ、エラーがある場合(Ericの文字列を減算しようとしているため)、最後の唯一の値を使用します。

=IFERROR(
OFFSET(
    Sheet3!$A$1, 
    COUNTA(OFFSET(Sheet3!$A$1, 0, MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1, 1000)) - 1, 
    MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1) - 
OFFSET(
    Sheet3!$A$1, 
    COUNTA(OFFSET(Sheet3!$A$1, 0, MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1, 1000)) - 2, 
    MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1), 
OFFSET(
    Sheet3!$A$1, 
    COUNTA(OFFSET(Sheet3!$A$1, 0, MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1, 1000)) - 1, 
    MATCH($A2, Sheet3!$A$1:$E$1, 0) - 1)) 
+0

ありがとう@ロビン、しかし、私は名前ごとに別々に計算する必要がない式を使用したいと考えています –