2017-10-17 8 views
0

範囲(M48-X48)の最後の2つの空でないセルの値を比較するための式を作成し、出力(u、p、またはq)。しかし、範囲に最後の2つの値の間に空のセルがある場合、最後の空でないセルに戻るのではなく、最後の値のインデックスから1つのセルを減算するだけで、式はもう機能しません。この機能を数式に追加するにはどうすればよいですか?選択肢の最後の2つの値を比較する[Excel]

=IF((INDEX(M48:X48;MATCH(9E+99+307;M48:X48))-INDEX(M48:X48;MATCH(9E+99+307;M48:X48)-1))=0;"u";IF(INDEX(M48:X48;MATCH(9E+99+307;M48:X48))-INDEX(M48:X48;MATCH(9E+99+307;M48:X48)-1)>0;"p";"q")) 

例それが今で動作する方法:エラーが発生し

M: 1; N: 2; O: 3; rest until X is empty 
Output = p 

例raneg:

M: 1; N: empty; O: 3; rest until X is empty 

答えて

0

AGGREGATE関数を使用すると、空でない最後の値を簡単に抽出できます。

問題に対する解決策は、以下

=IF(INDEX(M48:X48;AGGREGATE(14;6;COLUMN(M48:X48)/(M48:X48>0);1)-12)-INDEX(M48:X48;AGGREGATE(14;6;COLUMN(M48:X48)/(M48:X48>0);2)-12)=0;"u";IF(INDEX(M48:X48;AGGREGATE(14;6;COLUMN(M48:X48)/(M48:X48>0);1)-12)-INDEX(M48:X48;AGGREGATE(14;6;COLUMN(M48:X48)/(M48:X48>0);2)-12)>0;"p";"q")) 

成分集合体である(14; 6;カラム(M48:X48)/(M48:X48> 0); 1)列番号を返し最後の値の1ではなく2の同じコンポーネントが2番目の最後の値の列を返します。 INDEX(コンポーネント-12)を使用して、対応するセルの値が返されます。範囲がMで始まるので、列シフトを考慮するには-12が必要です。残りの数式は、質問で尋ねられた方法と変わりがありません。

0

は、あなただけの検索を行うと、交換することはできませんが、ゼロの中で空白あなたのデータ範囲?

IFステートメントをあなたのインデックス/マッチにドロップすることはできますが、長くなるにつれて、自分の経験で計算するのにかかる時間が長くなり、時間の投資に値するかどうか疑問に思います。教えてください。

+0

いいえ、ゼロを検索して置き換えても機能しません。 IF文は最後の2つの値を比較します。したがって、最後の2つ目の空のセルを0に置き換えた場合、これは最後の値を比較し、その範囲の最後の2番目の値ではありません。 – Johannes

関連する問題