• 締切済み

エクセルで空白と0表示のセルを省いて表示したいです

いつもお世話になります。文章が下手で申し訳ありませんがよろしくお願いします。添付ファイル参照して頂きながらでお願いします。 B3からE9までの表があります。下のB13からE22の中に、B3からE9の空白や0のセルを省いて表示したいです。(B26からE30のように表示したいです) 説明分が下手ですみませんがよろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

>関数を希望しております。 またか、と思う。 関数でなら、やさしいわけではない。仕事の課題(検索などデータベース的場面)にはVBAが必要だろう。 ーー この課題は、条件による「抜出し門題」で、スマートには、行かない課題です。配列数式をつかったり、 関数式が複雑だったり、作業列が必要だったり。 365などのFILTER関数が使えないか勉強したらどうかな。質問にエクセルバージョンが書いてない。 「みかん」の下の表のデータ状況が書いてないが、関数などが入っているケースだと、本件 アウトかも。そういう状況も想像できず、質問の書き方がまずいのだ。 ーー 例データA1:E8 種類 金額 個数 計 該当の上から何番目数 イチゴ 200 2 400 1 みかん 100 3 300 2 0 2 グレープ 300 2 600 3 柿 100 1 100 4 0 4 玉ねぎ 100 5 500 5 ーー F列F2以下の式は =COUNTIFS($A$2:A2,"<>""",$D$2:D2,"<>0") COUNTIFS関数と(下記で)MATCH関数の特徴を利用したもの。=該当の最初しか返さない性質を利用。 13の式は =IFERROR(OFFSET($A$1,MATCH(ROW()-12,$E$2:$E$8,0),COLUMN()-1,1),"") これをD列まで右方向に式を複写。 A13:D13の式を下方向に式を複写。 結果 A13:D17見えて居る範囲。 イチゴ 200 2 400 みかん 100 3 300 グレープ 300 2 600 柿 100 1 100 玉ねぎ 100 5 500 A12:D12の項目見出しなどは別途入力で作製

yokoyama0106
質問者

補足

すみません。会社の独自のシステムを使用の為、VBAは使用できません。Windowsのバージョンも古いものも使用しているパソコンもあったりなど、こちらにも様々な理由があります。すべての理由まで記載すべきでした。申し訳ございません。ご回答ありがとうございます。質問は締め切らせていただきます。

回答No.3

たとえば、 B13セルに =IFERROR(INDEX($B$3:$B$9, SMALL(IF($B$3:$B$9<>"", ROW($B$3:$B$9)-ROW($B$3)+1), ROW()-ROW($G$3)+1)), "") これをCtrl+Shift+Enterで配列数式として確定させます。 それをB19までフィルしてみてはいかがでしょうか?

yokoyama0106
質問者

お礼

ご回答ありがとうございます。やってみたのですが、何も表示されません。

yokoyama0106
質問者

補足

追加の条件がが出てしまったので締め切り致します。ありがとうございます。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

完全自動の式で処理するのは少し難しいので、できれば、B2からE9までの表をコピーしてB12に貼り付けてからB12の種類列を優先して並べ替えてはいかがでしょうか。

yokoyama0106
質問者

補足

追加の条件がが出てしまったので締め切り致します。ありがとうございます。

  • hiro_1116
  • ベストアンサー率30% (2556/8268)
回答No.1

表示だけなら、B列にフィルターを設定して、空白を除外したら宜しいかと。

yokoyama0106
質問者

お礼

回答ありがとうございます。関数での使用を希望しております。申し訳ありません。

yokoyama0106
質問者

補足

追加の条件がが出てしまったので締め切り致します。ありがとうございます。

関連するQ&A