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

エクセルに関して質問です。ご存知の方は教えて下さい。

シート1
  a    b   c    d   e    f    g     h     i
1うどん  山口  頭   3月  500 350  山口県   500  300
2カレー  山田  手   4月  400      大阪府   100  150
3おでん  向井  足   3月      400  和歌山県  130
4そば   山田  口   4月      300  京都府
5からあげ 山口  頭   2月  300      奈良県



上記のシートから、シート2へ条件付で抽出をしたいです…
条件はb列で山口かつ、e列かf列どちらかに数字の記載があれば
c列とh列を除いてコピーされる。さらに、シート2の上詰左詰で表示されるようにしたいです。

具体的には下記のようにすることが希望です。
シート2
  a    b    c   d    e    f     g
1うどん  山口   3月  500 350  山口県 300
2からあげ 山口   2月  300      奈良県




上記の条件が不可能であれば、c列とh列を除くという条件を省くことは可能です。

ややこしくて申し訳ございませんが、エクセルでその条件が設定できるのか
ご存知の方がいれば教えて下さい。

A 回答 (3件)

下記のサンプルでAddinを使っています。

サンプルに集計もしていますが、集計しない場合、
抽出対象列をチェックして、抽出条件設定画面へ遷移すれば、複数の条件が指定できます。
マクロも対応できますが、マクロできない方も多いため、Excelのアドインを使うのも一つの解決方法です。ご参考ください。
    • good
    • 4
この回答へのお礼

動画までつけて説明くださって有難うございました。

少し試行錯誤中ですが、引き続き頑張ってみます。

お礼日時:2015/05/13 11:07

難しい関数式が登場すると予想する人には、期待外れなので、この回答は別解としておきます。


添付図上段の Sheet1 を料理することにします。
1.Sheet2 の1行目に添付図下段のとおりに入力
  ただし、セル J1 は空白のまま。←これ重要!
  A~G列の2行目以降も空白のまま。
2.Sheet2 のセル I2 に「山口」を、セル J2 には次式をそれぞれ入力
  =Sheet1!E2+Sheet1!F2>0
3.先ず、Sheet2 を開く。間違っても Sheet1 から初めては駄目よ!
4.次の[フィルタオプションの設定]を入力
  [抽出先]→ “指定した範囲”
  [リスト範囲]→ Sheet1!$A$1:$I$10
  [検索条件範囲]→ $I$1:$J$2
  [抽出範囲]→ $A$1:$G$1
5.ステップ4の設定が完了したら、Enterキーを「エイヤッ!」と叩き付け
「エクセルで別シートから条件付きで抽出した」の回答画像2
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。

私の表で対応すると範囲指定が少しあわないみたいですが
試行錯誤して頑張ります。

お礼日時:2015/05/13 11:10

こんにちは!


色々やり方はありますが、一例です。
一気にやってみました。

↓の画像のように元データはSheet1にあり、Sheet2に表示するとします。
Sheet2のA1セルに
=IFERROR(INDEX(Sheet1!A$1:A$1000,SMALL(IF((Sheet1!$B$1:$B$1000="山口")*(COUNT(Sheet1!$E$1:$F$1000)),ROW($A$1:$A$1000)),ROW(A1))),"")
これは配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → Sheet2のA1セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
A1セルのフィルハンドルで列・行方向にコピー!
これで画像のような感じになります。

※ 元データが空白の場合「0」が表示されてしまいますのでExcel2010以降をお使いだとすると
メニュー → ファイル → オプション → 詳細設定 → 「次のシートで作業するときの表示設定」の右側▼でSheet2を選択し、
「ゼロ値のセルに0を表示する」のチェックを外しておきます。

※ 不要な行がある場合は非表示にしてみてください。

※ 注意点 ※
Sheet1に「0」がある場合も「0」が表示されませんので
作業用の列を設けるなどし、別の方法を考える必要があります。

こんな感じではどうでしょうか?m(_ _)m
「エクセルで別シートから条件付きで抽出した」の回答画像1
    • good
    • 0
この回答へのお礼

早速のご回答有難うございました。

説明どおりにすると問題なく機能しましたが、
私どものエクセルの表で行うと行や列でずれがおこってそうです。
もう少し試行錯誤してみます。

有難うございました。

お礼日時:2015/05/13 11:08

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