- ベストアンサー
エクセルデータの抽出について
A列とB列にデータが入っています。 A列が×になっている行のB列を抽出し、D列に表示するにはどんな計算式を使えばよいでしょうか。 VLOOKUPではうまくいかず、過去の質問等調べましたが適切な回答が見つかりませんでした。。。 よろしくお願いします。
- slowstep4035
- お礼率88% (8/9)
- その他MS Office製品
- 回答数4
- ありがとう数4
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
添付図: ほんのちょっとした工夫で,普段使いの関数だけで十分出来ます。 A1: =IF(B1="×",COUNTIF($B$1:B1,B1),"") 以下コピー E1: =IF(ROW(E1)>MAX(A:A),"",VLOOKUP(ROW(E1),A:C,3)) 以下多めにコピー
その他の回答 (3)
- hallo-2007
- ベストアンサー率41% (888/2115)
回答しようよしたら、どんどん回答が付いてしまいました。 関数案で D1セルに =INDEX(B:B,SMALL(INDEX((A$1:A$100="○")*100+ROW(A$1:A$100),),ROW()))&"" と入れて下までコピー この手の関数の説明は難しいのですが INDEX((A$1:A$100="○")*100+ROW(A$1:A$100),) は、A列が〇なら、その行番号に100を加算された数値、それ以外は その行番号 が入った 架空の範囲を作成しているところにが味噌です。 既に回答にありますように Vlookup関数では、条件にあった最初の行しか検索できないので、複数のデータ抽出はできません。 作業列を利用するか、配列関数を使うことになります。 エクセルには、データ抽出の機能がありますので フィルターオプション(エクセル2007以上では、フィルターの詳細設定)で抽出すると自由度が広がります。
お礼
ご回答ありがとうございます。 解説もとても参考になりました。 配列関数について少し勉強してみようと思います。
- kagakusuki
- ベストアンサー率51% (2610/5101)
【方法その1】作業列を使用する方法 今仮に、F列を作業列として使用するものとします。 まず、F1セルに次の数式を入力して下さい。 =IF(INDEX($A:$A,ROW())="×",ROW(),"") 次に、F1セルをコピーして、F2以下に貼り付けて下さい。 次に、D1セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT($F:$F),"",INDEX($B:$B,SMALL($F:$F,ROWS($1:1)))) 次に、D1セルをコピーして、D2以下に貼り付けて下さい。 【方法その2】関数のみで行う方法 まず、D1セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNTIF($A:$A,"×"),"",INDEX($B:$B,SUMPRODUCT(ROW(INDEX($A:$A,1):INDEX($A:$A,MATCH("゛",$A:$A,-1)))*(INDEX($A:$A,1):INDEX($A:$A,MATCH("゛",$A:$A,-1))="×")*(COUNTIF(OFFSET(INDEX($A:$A,1),,,ROW(INDEX($A:$A,1):INDEX($A:$A,MATCH("゛",$A:$A,-1)))),"×")=ROWS($1:1))))) 次に、D1セルをコピーして、D2以下に貼り付けて下さい。
お礼
ご回答ありがとうございます。 初心者の私には作業列を使うほうがよさそうです。。。
D1: {=IF(ISERROR(SMALL(IF(A$1:A$100="×",ROW(A$1:A$100),""),ROW(A1))),"",INDEX(B$1:B$100,SMALL(IF(A$1:A$100="×",ROW(A$1:A$100),""),ROW())))} (配列数式)
お礼
ご回答ありがとうございました。 計算式の意味があまり理解できていませんがひとまず試してみます。
関連するQ&A
- エクセルで重複しないものだけを抽出したい
下記のようなデータがあります。 A B C D 1 20 30 40 1 20 32 41 1 20 30 49 1 20 81 39 2 20 76 40 2 20 32 41 2 20 30 49 3 20 81 39 3 20 39 40 3 20 32 41 4 20 30 49 4 20 81 98 このうち、列Aの他と重複しない部分であり、かつ先頭行を抽出するにはどのようにしたらよいでしょうか? 上記の例で言うと、列Aの1から4までのそれぞれ1行目を選ぶという作業です。 抽出後 A B C D 1 20 30 40 2 20 76 40 3 20 81 39 4 20 30 49 vlookupなどの関数でできるのでしょうか?教えてもらえたらうれしいです。お願いします。
- ベストアンサー
- その他(業務ソフトウェア)
- エクセルのオートフィルタでのデータ抽出&カウント
エクセルのローデータでのオートフィルタでのデータ抽出&カウントで困っています。 A列にNo.、B列にデータB、C列にデータC、D列にデータDがあるとします。 それぞれの列に1~9までの数字があり、 それぞれの列、 データの一番下(正確には1行開けて)にはSUMやCOUNTIFなどの関数(計算式)が入っています。 で、これをフィルターにかけ抽出した際、この抽出したデータのみで計算の値を表示したいのですが、 やってみると 全データの計算の値で表示されてしまいます。 どうすればよいのでしょうか? 大変困っています。 よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- Excel データの抽出について教えて下さい。
初めて質問させて頂きます。 Excelでデータの抽出と言ったらいいでしょうか・・・ 「一定の条件に当てはまった場合に、別のセルに数字を入力する」 というような処理をしたいのですが、データ量が多くて、 どのようにやったら効率がいいのか、頭を悩ませています。 例えば・・・ A列 B列 1行目 111 A 2行目 112 B 3行目 115 C 4行目 115 C 5行目 118 D といったようなデータが1500件ほどあります。 このデータを使って、A列の中で番号が2つ(又は3つ等)あるものに、 A列 B列 C列 1行目 111 A 2行目 112 B 3行目 115 C 1 4行目 115 C 1 5行目 118 D といった感じで決まった数字を表示する方法がないでしょうか? こんな説明でご理解頂けるかどうか、心配なんですが・・・。 いい方法をご存知の方がいらっしゃいましたら、力を貸して下さい。
- ベストアンサー
- オフィス系ソフト
- エクセルでのデータ抽出について
初めて質問させていただきます。 2つの銘柄の株価データをエクセルにコピペした後、日付と時刻が同じものを行を揃えて抽出したいのですが、いろいろ試してみましたがわかりません。 具体的には次のようにしたいのですが・・・。 【元データ】 A列 B列 C列 D列 E列 F列 ・ ・ 2007/11/9 9:20:00 520 2007/11/9 9:25:00 1544 2007/11/9 9:15:00 514 2007/11/9 9:20:00 1520 2007/11/9 9:10:00 513 2007/11/8 15:00:00 1430 2007/11/9 9:05:00 509 2007/11/8 14:55:00 1425 2007/11/9 9:00:00 501 2007/11/8 14:50:00 1427 2007/11/8 14:55:00 497 2007/11/8 14:45:00 1431 ・ ・ 【抽出後】 ・ ・ 2007/11/9 9:20:00 520 2007/11/9 9:20:00 1520 2007/11/8 14:55:00 497 2007/11/8 14:55:00 1425 ・ ・ どなたか宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 重複するデータの抽出について(エクセル)
エクセル2003にて重複するデータの取り出しをしたいのですが、 わからないので教えてください。 例えば A列 B列 C列 D列 E列・・・ 1 色 1回目 2回目 3回目 4回目 2 赤 あ a A 0 3 白 い b B 1 4 黄 う c C 2 5 黄 え d D 3 6 黒 お e E 4 7 赤 か f F 5 : このデータの中から、別のシートのA1に 赤と入力したら、B1にD列のA・Fを抽出 黄と入力したら、B1にD列のC・Dを抽出をしたいです。 VLOOKUP関数を使用してみたのですが、 赤と入力すると、D列のA(1番上のデータ)のみしか抽出出来ず、Fが抽出されません。 重複するデータがあるのはA列のみで、D列には重複するデータはありません。 わかりにくい文章ですみませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのデータを抽出したいのですが・・・
エクセルのデータを抽出したいのですが・・・ いつもこちらでお世話になっています。 5000行あるデータの中から D列に入っているA事業所のうち、 R列に入っているB市で始まる住所(番地まで入っています) 分のデータ件数を抽出したいのですが どのようにすれば良いのかわかりません。 どのように数式を入れれば良いのか教えてください。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelでデータ抽出!
かなり切羽詰ってます。助けてください。 excelで3×15の表を作ってそこからデータを抽出したいのです。列と行の数値はそれぞれ別のセルからの参照にしたいのですが...。ifとかvlookupとかいろいろ使ってみたのですがうまくいきません。エクセルでゆーところの'B3'を出したいだけのことなのですが...。誰か助けてください。
- ベストアンサー
- その他(データベース)
- Excel 複数の項目合致するデータを抽出したい
是非、よろしくお願いいたします。 以下の状況です。 sheet1には A、B、C、Dという4列があります。データは1000行くらいです。 sheet2には A、B、C、Eという4列があります。データは2000行くらいです。 この状況で、sheet1のD列の右に新しい列を作り、 「sheet1の(例えば)A1、B1、C1と合致する行のsheet2のE列データ」を、 sheet2のABC列範囲を検索して抽出したいのです。 項目が一つであればvlookup関数でできるものを「複数項目に合致」のため上手くいきません。 この3列のデータを結合して一つにしてみましたが、結合後のデータが16桁以上のため末尾が「0」になってしまい、正確に検索できません。 何か上記を可能にする方法はないでしょうか? よろしくお願いいたします。
- 締切済み
- その他MS Office製品
- エクセルのデータ抽出について
基本的な内容かもしれませんが、どうしてもわからないので教えてください。 A B C D 1 1 b 3 c 2 2 t 4 y 3 3 r 3 o 4 4 l 5 p 5 5 k 3 w 上記のようなデータベースがあったとします。このシートと異なるシートのあるセルにたとえば3と入力すると A B C D 1 1 b 3 c 2 3 r 3 o 3 5 k 3 w のようにC列が3である行が抽出され、なおかつA列の昇順で並ぶということをしたいのですが、vlookup等ではうまくできません。 フィルタを使用せずに実現したいのです。お願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル2003 重複データの抽出
エクセル2003を使っています。 重複したデータの抽出を行いたいのですが、 例えば、 A B C D コード 書籍名 出版社名 著者 といった感じのデータが1万件ほどあります。 このうち、B列の「書籍名」が重複しているデータを抽出したい です。(抽出したものは、書籍名だけではなくて、ほかの出版社や著者の指定したデータも表示させたい。) VLOOKUPなどを使えばできないこともないのですが、一万件の 処理を行う上に、パソコンも非力なので時間がかかってしまい 困っています。 どうぞよろしくお願いします。
- ベストアンサー
- Windows XP
お礼
ご回答ありがとうございます。 何とか計算式も理解できました。