2017-04-17 10 views
0

私はExcelで作業していますが、式のMATCHを使用して、列内のゼロより大きい各数値の行を取得します。Excelマッチが0より大きい場合

Rows 
    3 
    4 
    6 
11 

¿それはMATCH式でこれを行うにはかのうです:たとえば、次のよう

Number 
    0 
    0 
    6 
    1 
    0 
    8 
    0 
    0 
    0 
    0 
    10 

は、私が他の列で取得する次の列を持ちますか? そうでなければ、これをどのように達成できますか?

答えて

1

あなたのデータは範囲A2であると仮定すると:はCtrl + Shiftキーで確認が必要です+を入力の代わりに、一人で入力します。この配列数式を試し、その後、A12。 B2で

=IFERROR(SMALL(IF($A$2:$A$12>0,ROW($A$2:$A$12)-ROW($A$2)+1),ROWS(B$2:B2)),"") 

確認はCtrl + Shiftキーを+を入力し、空白のセルを取得するまで、それを下にコピーします。

要件ごとに範囲を調整しますが、数式のA:Aのような列の参照全体を参照しないでください。

+0

完璧に動作します、ありがとう! – Xhoan

+0

あなたは歓迎です。それがうれしかった。あなたの質問にSolvedと印を付ける答えを受け入れるようにしばらく時間をかけてください。 – sktneer

0
B1: =MATCH(TRUE,A:A>0, 0)        Ctrl+Shift+Enter 

B2: =IFERROR(MATCH(TRUE,(A:A>0)*ROW(A:A)>B1, 0),"") Ctrl+Shift+Enter 

B2をコピーして、列Bに沿って貼り付けます。

0

データがA2:A12の範囲にあると仮定します。

  1. セルB2:B12を選択します。 F2を押します。 B2セルに値を入力することができます。
  2. コピーB2に以下の式をペーストして、あなただけのB2を選択した場合Ctrlキー + Shiftキー +

=IFERROR(AGGREGATE(15,6,IF(A2:A12<>0,ROW()-ROW(A1),NA),ROW()-ROW(B1)),"")

注意をEnterキーを押した後、あなたが取得する数式を入力します。一番上の値のみ。必要に応じて範囲を調整します。

関連する問題