プロが教えるわが家の防犯対策術!

Sheet1
   A   B    C 
1 コード  社名  金額
2 0014  A社  1000
3 0012  B社    0
4 0105  C社   200
5 0222  D社    0

↓↓↓↓↓↓↓↓↓↓↓↓

Sheet2
   A   B    C 
1 コード  社名  金額
2 0014  A社  1000
3 0105  C社   200

上記のようにSheet1で金額が0の行を除いてSheet2に表示したいです。
できれば関数でSheet1には作業列を入れるなど手を加えたくないです。
よろしくお願いい致します。

質問者からの補足コメント

  • どう思う?

    検索してヒットした、INDEX,SMALL,ROWを使った式をコピペして試しているのですが
    式を挿入した1行目は表示されますが、2行目以降#NUM!エラーがでます。

      補足日時:2018/11/21 14:00

A 回答 (3件)

こんにちは!



Sheet2のA2セルに
=IFERROR(INDEX(Sheet1!A$2:A$1000,SMALL(IF(Sheet1!$C$2:$C$1000<>0,ROW(A$2:A$1000)-1),ROW(A1))),"")

配列数式なのでCtrl+Shift+Enterで確定!(←必須★)し
フィルハンドルで列・行方向にコピーしてみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
2行目以降空欄になってしまったので、IFERRORをとってみたら
#NUM!エラーがでてしまいました。

お礼日時:2018/11/21 13:55

続けてお邪魔します。



同じ内容を投稿しますが、
間違いなく配列数式になっていないと思われます。
A2セルを選択し数式バー内を確認してみだください。
数式の前後に { } マークが入っていますか?

{ }のマークが入っていればちゃんと配列数式になっていますが、
ない場合は配列数式でないので、お示しのような表示になります。

もちろん、「IFERROR」をとっても構いませんが、Ctrl+Shift+Enterで配列数式にし、
列・行方向にフィル&コピーすると「0」以外のデータ数はちゃんと表示され、
それ以降の行はエラー表示になります。m(_ _)m
    • good
    • 0
この回答へのお礼

理解できました!
ありがとうございます。

お礼日時:2018/11/21 16:03

No.1です。



おそらく配列数式になっていないと思われます。

もう一度この画面で前回の数式をドラッグ&コピー → Sheet2のA2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定してください。
数式の前後に { } マークが入り配列数式になります。

それを列・行方向にフィル&コピーしてみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

配列式にはなっていないと思います。
式を入れた1行目(A2:C2)は表示されます。
フィルハンドルで下にコピーするとA3:C3以降空白になります。
エラーを確認するためにIFERRORをとると#NUM!エラーが表示されます。

お礼日時:2018/11/21 14:47

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