こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルで表の一部、ゼロのみではない行を抜き出す

お世話になります

エクセルで次の様な表があるとします。

       個数    項目(1)   項目(2)  項目(3)
商品A           10     10    20
商品B            5     10    15
商品C            4      5    6

個数の列は初期状態では空で必要に応じて入力するものとします。

この表の右には集計のための数式の入ったセルがあるとします。
                            
                                合計計算
       個数    項目(1)   項目(2)  項目(3)      項目(1)合計             項目(2)合計               項目(3)合計
商品A           10     10    20      Aの個数×Aの項目(1)の数値     Aの個数個数×Aの項目(2)の数値   ・・・(略)
商品B            5     10    15      Bの個数×Bの項目(1)の数値     Bの個数個数×Bの項目(2)の数値    ・・・(略)
商品C            4      5    6      Cの個数×Cの項目(1)の数値     Cの個数個数×Cの項目(2)の数値   ・・・(略)

ここで個数には0が入ることもあります。
そのときは計算された右側のセルにも当然0が入ります。

つまりこんな感じです。

                               合計計算
       個数    項目(1)   項目(2)  項目(3)    項目(1)合計   項目(2)合計   項目(3)合計
商品A     1     10     10    20       10         10         20
商品B     0      5     10    15         0          0         0      
商品C     3      4      5    6         12        15        18

さてここでやりたいことがあります。
それは個数が0以外のものの結果のみを抽出するということです。
今回の場合は

項目(1)合計   項目(2)合計   項目(3)合計
 10         10         20
  12         15         18

というところだけを抜き出したいのです。
実際は行がもっと沢山あります。
オートフィルタを使って個数が0以外で抽出する、も考えましたが
最初のタイトル行が訳あって複数行に渡っているため使えません。
何か良い手だてはありますでしょうか?

投稿日時 - 2008-02-25 22:00:57

QNo.3809606

困ってます

質問者が選んだベストアンサー

次の方法は如何でしょうか。
(1)別シートのA1に個数、A2に>0を設定
(2)データ→フィルタ→フィルタオプションの設定→警告メッセージはOKとする
(3)指定した範囲にチェックを付ける→リスト範囲欄に元表の個数列から項目(3)合計列範囲→検索条件範囲欄に(1)の範囲→抽出範囲欄に任意セルを設定→ok
但し、抽出結果として個数列~項目(3)列まで表示されますので処理後に削除して下さい。

投稿日時 - 2008-02-26 10:38:01

お礼

これは初めて見る形です。
実際にやってみるとできました。
こんなフィルタリングの方法があるのですね。
大変勉強になりました。

※もしかするともっと予想外の良い案などが出てくるかもしれないので
 もうしばらく受付中にしておきたいと思います。

投稿日時 - 2008-02-26 22:07:14

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

別シートに

項目(1)合計     項目(2)合計  ・・・
 =if(f2=0,"",f2)    =if(g2=0,"",g2) ・・・
     ・            ・
     ・            ・
ではどうでしょうか?

投稿日時 - 2008-02-25 22:32:10

お礼

ありがとうございます。

ただ、この方法だと
項目(1)合計   項目(2)合計   項目(3)合計
 10         10         20

  12        15        18

となり、空白の行が残ってしまうのではないでしょうか?
空白の行は詰めて表示したいのです。

投稿日時 - 2008-02-25 22:43:24

ANo.1

タイトルの一番下の行とデータの行を選択してオートフィルタを掛けてみましょう
データの行は1行でもOK

たぶん…たぶん幸せになれると思います

投稿日時 - 2008-02-25 22:12:10

お礼

ありがとうございます。

こんな簡単な方法で解決するとは・・・

ところでオートフィルタを使ったら新たな問題が。
機能ではなく表示の問題なのですが
文字数の都合で列の幅を狭くしています。
ここでオートフィルタを使うとタイトル行の中身が見えません。
オートフィルタの記号を小さくするとか、非表示にするとかは可能でしょうか?

投稿日時 - 2008-02-25 22:38:42

あなたにオススメの質問