ここから本文です

Excel 特定の文字がかかれた列を別シートに一覧で抽出する方法 下記の様なシート...

asi********さん

2017/3/1520:58:53

Excel 特定の文字がかかれた列を別シートに一覧で抽出する方法
下記の様なシートがあるとします
"○"が書いてある列だけを別シートに抽出したいのですが
どのような関数を使えばいいのでしょうか?

シート1
A B C D
性 名 昼 夜
田中 太郎 ○ ○
山田太郎 × ×
山田花子 ○ ×
角野拓三 □ □
山内 歳三 × □
剛田 武 ○ □

シート2
A B C D
田中 太郎 ○ ○
山田 花子 ○ ×
剛田 武 ○ □

※□は空白です

閲覧数:
103
回答数:
4
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

set********さん

2017/3/1522:29:04

下の図のようなことで、
・左半分がシート1で、シート名は「Sheet1」とします。
・右半分がシート2で、シート名は「Sheet2」とします。

Sheet2の、A2セルに、
① =INDEX(Sheet1!A:A,SMALL(INDEX(ISERROR(FIND("○",Sheet1!$C$1:$C$20&Sheet1!$D$1:$D$20))*10^4+ROW(Sheet1!A$1:A$20),),ROW(A1)),)&""
の式を入れて、右と下にオートフィル(コピー)でどうでしょうか?

なお、Sheet1のデータが100行目まであるときは、式の中の「20」を全て「100」に変更して下さい。

下の図のようなことで、
・左半分がシート1で、シート名は「Sheet1」とします。...

質問した人からのコメント

2017/3/16 04:23:22

助かりました…!
もう少し簡単だと思っていたのですが、思っていた以上に複雑でびっくりしました!
また機会がありましたらよろしくお願いします。

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

nis********さん

2017/3/1600:44:59

作業列を設けます
Sheet1のE2へ
=IF(COUNTIF(C2:D2,"○"),ROW(A1),"")
下方へコピー(フィル)

Sheet2のA2へ
=IFERROR(INDEX(A$2:A$7,SMALL($E$2:$E$7,ROW(A1)))&"","")
縦横へコピー

作業列を設けます
Sheet1のE2へ...

プロフィール画像

カテゴリマスター

tai********さん

2017/3/1522:38:40

1行目見出し、見出しは別シートにコピペして
別シートのA2セルに

=IFERROR(INDEX(Sheet1!A:A,1/LARGE(INDEX((MMULT((Sheet1!$C$2:$D$100="○")*1,{1;1})<>0)/ROW(C$2:D$100),),ROW(A1))),"")&""

このセルを縦と横にコピー

1行目見出し、見出しは別シートにコピペして
別シートのA2セルに...

chi********さん

2017/3/1521:33:25

関数でやらないといけない理由があるんですか?
フィルタの詳細設定を使えば 抽出できますけど。

D2に「=COUNTIF(B2:C2,"○")」と入力

フィルタの詳細設定で検索条件範囲を「D1:D2」にして抽出

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる