画像にあるような表があるとします。
評価1の人物だけを抽出欄にA君、D君、E君、F君と順に表示させたいのです。
どうすれば良いのでしょうか?

識者の方、何卒、お助け下さい。
宜しくお願い致します。

「エクセルの質問です」の質問画像

A 回答 (6件)

簡単で分かり易く計算に負担のかからない方法は作業列を使う方法です。


C2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(B2=1,MAX(C$1:C1)+1,"")

D2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(ROW(A1)>MAX(C:C),"",INDEX(A:A,MATCH(ROW(A1),C:C,0)))
    • good
    • 0
この回答へのお礼

お忙しい中、ご回答頂きまして誠に有難うございます。
実は質問に使った表は説明を分かり易くするために、実際に使う表とは違うものを使いました。
実際の表は行数が450行、列数が30列あり、数式も質問のもの以外に7000程入っており、しかもB列の数値が時間経過によって変わっていくというものですので、記述が複雑なものは、処理に結構なタイムラグが出るということが判明しました。
KURUMITO様のご回答は答えを得るまで二段階の作業となっていますが、記述がシンプルなので動作が軽くて良かったです。

お礼日時:2011/04/12 05:43

[フィルタオプションの設定]を使えば、貴方にとって苦手な(?)関数を全く使わなくて済みます。

添付図参照。

セル A1、B1 をそれぞれセル D1、C1 にコピー&ペーストし、セル C2 に 1 を入力した後に、[データ]→[フィルタ]→[フィルタオプションの設定]を実行するだけ。
「エクセルの質問です」の回答画像6
    • good
    • 0
この回答へのお礼

お忙しい中、ご回答頂きまして誠に有難うございます。

お礼日時:2011/04/12 05:23

一例です。


D2に=IF(COUNTIF(B$2:B$7,1)>=ROW(A1),INDEX(A$1:A$7,SMALL(IF(B$2:B$7=1,ROW(A$2:A$7),999),ROW(A1))),"")、入力完了時にshift+ctrl+enterキーを同時押下後、下方向にコピー
    • good
    • 0
この回答へのお礼

お忙しい中、ご回答頂きまして誠に有難うございます。
実は質問に使った表は説明を分かり易くするために、実際に使う表とは違うものを使いました。
実際の表は行数が450行、列数が30列あり、数式も質問のもの以外に7000程入っており、しかもB列の数値が時間経過によって変わっていくというものですので、記述が複雑なものは、処理に結構なタイムラグが出るということが判明しました。
こんなことなら、初めからもっと詳しく書けば良かったかも、、、m(__)m
今回は他の方の数式を使わせて頂く事に致しましたが、行数等が少なくて済むときはmu2011様のものも使わせて頂きたいと思います。
回答者の皆様の有能ぶりに感服しております。
とても参考になりました。

お礼日時:2011/04/12 05:51

こんにちは。

30代既婚女性です。

単純に私ならD2に =IF(B2=1,A2,"") で出すかな…。

「抽出」とあるということは、氏名の横に出るだけではだめなのかしら?
(空欄は上につめて、ならこれではダメですが…。)
    • good
    • 0
この回答へのお礼

お忙しい中、ご回答頂きまして誠に有難うございます。
また何かございましたら宜しくお願い致します。

お礼日時:2011/04/12 05:52

 D2セルに次の数式を入力してから、D2セルをコピーして、D3以下に貼り付けると良いと思います。



=IF(ROWS($2:2)>COUNTIF($B:$B,1),"",INDEX($A:$A,SUMPRODUCT(ROW($B$1:$B$7)*($B$1:$B$7=1)*(COUNTIF(OFFSET($B$1,,,ROW($B$1:$B$7)-ROW($B$1)+1),1)=ROWS($2:2)))))
    • good
    • 0
この回答へのお礼

お忙しい中、ご回答頂きまして誠に有難うございます。
実は質問に使った表は説明を分かり易くするために、実際に使う表とは違うものを使いました。
実際の表は行数が450行、列数が30列あり、数式も質問のもの以外に7000程入っており、しかもB列の数値が時間経過によって変わっていくというものですので、記述が複雑なものは、処理に結構なタイムラグが出るということが判明しました。
こんなことなら、初めからもっと詳しく書けば良かったかも、、、m(__)m
今回は他の方の数式を使わせて頂く事に致しましたが、行数等が少なくて済むときはkagakusuki様のものも使わせて頂きたいと思います。
回答者の皆様の有能ぶりに感服しております。
とても参考になりました。

お礼日時:2011/04/12 05:53

A1セルに「対象者番号」と記入


B列に名前以下を記入
C列に評価以下を記入

A2に
=IF(C2=1,COUNTIF($C$2:C2,C2),"")
を記入,以下コピー。

E1に「対象者番号」と記入
F1に「対象者氏名」と記入
E2に
=IF(ROW(E1)>MAX(A:A),"",ROW(E1))
以下コピー
F2に
=IF(E2="","",VLOOKUP(E2,A:C,2))
以下コピー。
    • good
    • 0
この回答へのお礼

お忙しい中、ご回答頂きまして誠に有難うございます。
とても参考になりました。
また、何かございましたら宜しくお願い致します。

お礼日時:2011/04/12 05:54

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


このカテゴリの人気Q&Aランキング

おすすめ情報