- ベストアンサー
エクセル2000です。ある文字を含んでいた場合別シートに抽出したい。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
幸いにして「別シート」に抽出したいとあるので (以下少し例を簡単にします) (1)サンプルデータ Sheet3のA1:A4に 東京都青梅市 山田 大阪市中央区 太田 東京都千代田区 小島 京都市左京区 上田 東京都あきる野市難波 (2)sheet4のA1に =IF(ISERR(FIND("東京都",Sheet3!A2)=0),"",Sheet3!A2)と入れA4まで複写する。 sheet4のB1に =IF(A1="","",Sheet3!B1) といれB4まで複写する。 (3)結果 東京都青梅市 山田 東京都千代田区 上田 東京都あきる野市難波 となります。 (4)そこでsheet4のA1:B4をA列で、且つ降順でソートします。 東京都千代田区 上田 東京都青梅市 山田 東京都あきる野市難波 と纏まります。
その他の回答 (5)
- happypoint
- ベストアンサー率36% (521/1422)
数式を使う方法はうまくいかなかったですか? 非常に「データベース的」なことをやろうとしているので、 Excelではどうしても限界があります。 このままがまんして数式やフィルタを使って処理するか、 Accessにデータを移して処理した方がいいと思います。 どうしてもと言うことならVBA(マクロ)を組むことになると思います。 ExcelVBAで・・・というタイトルで質問をたてると、 得意な方がいらっしゃいますので。
お礼
たびたびどうもです。 Accessは、ないので、エクセルで、なんとかと・・ 数式は、 「数値」が結果として表示されるとこまでは、うまくいくようなのですが、 そのあとの =IF(ISNUMBERをつかうと、ファイルがみつからないというファイルを選択するダイアログBOXがでて、 うまくいかないのです。 どこか、まちがっているのかもしれませんが、 再度じっくりやってみます。 VBA・・・再度お願いするかもしれません。
フィルタオプションを使ったらできると思います 結果を出したいシート(シート2)に、例 A1のセルに地名(シート1の取り出したい表の取り出したい列のフィールド名)を入力、その下のセルA2のセルに東京都と入力しておく そして、A4のセルにセルポインタを置いて、 1.[データ]→[フィルタ]→[フィルタオプションの設定] 2.抽出先を「指定した範囲」に リスト範囲をそのデータの入っている表を範囲指定 検索条件範囲で、条件を入れたA1~A2を範囲指定 抽出範囲を表示したいセルに(A4)を指定 これで地名が東京都のデータを取り出せます。 ただし、そのデータの入っている表は1列目には必ず、見出しが必要です。 そして、別のシートにある条件を入力した部分(A1)も同じ見出しを入力してなければいけません。
お礼
どうも、ありがとうございます。 試してみたのですが、どうもうまくいかなくて。 再度ためしてみます。
- happypoint
- ベストアンサー率36% (521/1422)
数式でやらない方法もありますよ。 ただし、1行目は見出しの行であるとします。 1.データ-フィルタ-オートフィルタ 2.見出しのセルに▼マークがつきます。 B列の「地名」の見出しの▼をクリック 3.ドロップダウンリストの中から「オプション」を選択 4.抽出条件 「地名」ボックスに「東京都」を入力し、 条件のドロップダウンリストは「を含む」を選択。 5.東京都を含むデータだけが抽出される。 6.行選択ですべての行をコピー 7.貼り付けたいシートに切り替えて貼り付け
お礼
どうも、ありがとうございます。 この方法は、最初に考えたのですが、 別シートに、自動的にコピーさせたいんです。 順次、追加したデータの中に、東京都があると、その都度 コピーするようなので・・・ データを入力した時点で、別シートにも表示させたいんです。
- happypoint
- ベストアンサー率36% (521/1422)
>その行すべてが、そのままシート2にコピーできればよいのですが ですから、 =IF(ISNUMBER(Sheet1!G1),Sheet1!A1,"") =IF(ISNUMBER(Sheet1!G1),Sheet1!B1,"") =IF(ISNUMBER(Sheet1!G1),Sheet1!C1,"") =IF(ISNUMBER(Sheet1!G1),Sheet1!D1,"") =IF(ISNUMBER(Sheet1!G1),Sheet1!E1,"") =IF(ISNUMBER(Sheet1!G1),Sheet1!F1,"") ですよ。
- happypoint
- ベストアンサー率36% (521/1422)
たとえばB列(B1)の地名を検索して、 東京都という文字が含まれていたかをG列(G1)に表示するには =SEARCH("東京都",B1,1) という式を入れます。 「東京都」という文字列が含まれていた場合、 「東京都」が何文字目にあったかという「数値」が結果として表示されます。 もし見つからなかった場合は、「#VALUE」というエラーを返します。 したがって、G列に数値が表示されているデータが、 「東京都」という文字を含んだデータですので、 これを別のシートに抽出すればいいです。 Sheet1のG1セルが数値の時だけ、Sheet1の氏名を、 Sheet2に表示する数式 =IF(ISNUMBER(Sheet1!G1),Sheet1!A1,"")
補足
回答ありがとうございます。 どうもうまくいかないのですが、(もういちどトライしてみますが) シート1に「東京都」と入力された場合に、その行すべてが、そのままシート2にコピーできればよいのですが、 無理でしょうか?
関連するQ&A
- エクセルVBAで、ある文字を含んでいたら別シートに抽出したい
エクセル2002を使っています。 シート1に A列に氏名 B列に住所 C列に電話番号 のデータが300件の表があります。 B列を検索してたとえば大阪府があれば、その行(ABC列)をシート2へコピーして抽出したいのです。 VBAを使ってやりたいのですがどうしたらよいでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのシート間のデータ抽出について
(1)シートは「集約」用のシートと、「各月」のシートがあります。「集約」シートは、A列には日付、B列には番号、C列には備考欄という表があります。各月のシートも同様ですが、番号の項目だけどの月も「1、2、3,4~」と通し番号でつけてあります。通し番号の数は月によって異なります。多くなる月もあれば、少なくなってしまう月、何もない月もあります。(2)「集約」の日付なり番号なりを入力すると、各月のデータが一つの表に反映されるようにしたいです。何かよい手立てはないものでしょうか?よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- エクセルで、条件にあう複数の行を別のシートに抽出する
《どなたか、お教え下さい》 エクセルで、条件にあう複数の行を別のシートに抽出してまとめる。 「sheet1」の下記の基本データを「sheet2」に「得意先」ごと「日付」の早い順にまとめたいのでが。関数を使ってできないものか、どなたかお教え下さい。「マクロ」や「Access」は使用したことがないので、関数を使ってやりたいと思いますが、できるものでしょうか。よろしくお願いします。 sheet1 番号 得意先 日付 商品名 商品詳細 金額 備考 1 A 2 B 2 B 4 D 5 E 6 F 2 B 3 C 5 E A B 番号 得意先 1 A 2 B 得意先名は、番号を入力することで表示されるように 3 C 関数「VLOOKUP」を使って表示させるようにしていま 4 D す。 5 E 6 F
- ベストアンサー
- オフィス系ソフト
- 文字を検索してその行を別シートにコピーするマクロ
A列 郵便番号 B列 住所 C列 名前 で出来ているファイルがあるのですが、住所欄にある市ごとにその行を別のシートにコピーさせたいと考えています。 マクロを起動させ、ダイアログボックスにコピーしたい市を入力するとSheet2又は新しいシートにコピーするマクロが出来たら助かるのですが、私用の範囲内で使いますのでご教授お願いします。
- ベストアンサー
- その他MS Office製品
- エクセル 重複した文字列がある場合の抽出
お知恵を拝借願えれば幸いです。 先日こちらで、似たような質問をさせて頂き、それは解決したのですが 新たな問題があり質問をさせて頂きます。 A列 B列 C列 東京都 中央区 中央区○×小学校 東京都 中央区 中央区立○○小学校 東京都 中央区 中央区○○小学校 先日は上記のデータのうち、「中央区立○○小学校」、「中央区○○小学校」(及び 「○○小学校」)を同じデータとして抽出していくということについて 伺いましたが、さらに以下のようなデータも同じデータとして抽出する方法について 悩んでおります。 列 B列 C列 東京都 中央区 中央区○○小学校 東京都 中央区 中央区立○○小学校 東京都 中央区 ○○小学校(▲▲) 東京都 中央区 ○○小学校 ▲▲ ▲▲は別名が併記されているといったイメージです。 もしよろしければご助言頂ければ幸いです。 よろしくお願い致します。
- ベストアンサー
- その他MS Office製品
- エクセル 別シートから一覧を抽出したい
部品一覧表を作成しているのですが、2シートあり 1入力シート・2部品コードシートとあります。 部品コードシートにはB列に部品番号・C列部品名・D列部品番号・E列部品名と2行ずつ使い番号・品名がB~Wまで47行分入力されています。 B1:C47、D1:E47…と2列47行にはそれぞれ【A】、【B】、…とセルの名前の定義をつけました。現在【H】までありますが、今後増える可能性があります。 入力シートに、セルの名前を指定したときに部品コードのシートから 一覧を抽出したいのですが、どの関数を使えばよいのかわかりません。 入力シート |部品コードシート G H | A Bコード C部品名 Dコード E部品名 4式入力用にあけています。 |1 1800 ユニットA 1501 電源A 5コード 部品名 |2 1801 ユニットB 1502 電源B 6 |3 G4に関数を入れてG6~G52まで部品コードのシートA1~A47を一気に表示 させたいのです。部品コードシートの行数が変わることはありません。 マクロを使わないと、関数では難しいでしょうか?
- 締切済み
- オフィス系ソフト
- 【エクセル】表から条件に合ったデータを別シートに順番に抽出したい
エクセルの表である条件にあてはまる行を 別シートに順番に抽出されるような関数を教えてください。 シート1のB列にあるデータが"渋谷区"のとき シート2のE74からE80くらいまでに シート1のC列のデータを上から順に抽出されるようにしたいです。 【シート1】 A B C 1 東京都 渋谷区 PC 2東京都 港区 PC 3東京都 新宿区 マウス 4東京都 渋谷区 ペン 5東京都 渋谷区 モニタ ・ ・ ・ 10 【シート2】 E 74 PC 75 ペン 76 モニタ ・ ・ ・ 80 【補足】 元の表(シート1)を編集することがあるので 自動的に反映されるよう、関数で作成できたらと思います。 シート2の構成上、抽出後のソートや、フィルタオプションは避けたいです。 わかりづらい文章で申し訳ございませんが どなたかいいアドバイスがありましたら教えてください。 お礼は明日になってしまいますが、必ずご返答いたします。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルの関数を使って別のシートに文字の一部を返す
シート1のA列に住所コード、B列に市を入力する欄、シート2のA列に住所コード、B列に県から始まる住所録のデータがある場合、例えばシート2のB列1行目にある愛知県名古屋市という文字列のうち、名古屋市という文字だけをシート1のB列1行目に返したい場合はどのような関数を使えばよいでしょうか? よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルの空白を詰めて別シートに表示
sheet1のデータを参照して、空白を詰めてsheet2へ表示させたいんです! sheet1(元データになるもの) A列 |B列|C列・・・ 1行目A|100|100 2行目B| |200 3行目C|100| 4行目D| |200 5行目E|100| 6行目F| |100 ・ ・ sheet2(sheet1でB列に入力があるものを抽出) A列 |B列 1行目A|100 2行目C|100 3行目E|100 sheet3(sheet1でC列に入力があるものを抽出) A列 |B列 1行目A|100 2行目B|200 3行目D|200 4行目F|100 sheet2のA1に下記の式を入力してA列とB列に数式をコピー =IF(COUNT(Sheet1!$B$1:$B$6)<ROW(A1),"",INDEX(Sheet1!A$1:A$6,SMALL(IF(Sheet1!$B$1:$B$6<>"",ROW($A$1:$A$6)),ROW(A1)))) すると下記のように表示されます。 A1=A B1=100 A2=#NUM! B2=#NUM! A3=#NUM! B3=#NUM! 4行目から空白 sheet2のA2のところにエラーが出ていますが、「関数の引数」のところで「数式の結果」には「100」と 正解が表示されています。(B2、A3、B3も同様に)数式の結果のところには正解が表示されています。 答えの「#NUM!」のところに正解を表示させるには、どうしたらいいですか? 見よう見まねでつくったのもで。。。関数にあまり詳しくありません。 よろしくお願い致します。
- ベストアンサー
- その他MS Office製品
- 二つの検索値から別のシートに抽出する
WinXP,Excel2000 下記のような表から例えば氏名コード(A列)103番と 日付(B列)2006/5/3からE列のデータ3.50を導きたい のですが、この場合検索値がA列・B列と2つあるので 同じシートに答えを出す場合は F3=SUMPRODUCT((A1:A9=F1)*(B1:B9=F2)*E1:E9)で できるのですが、別のシートに抽出するにはどうしたら よいでしょうか。ご教授ください。<m(__)m> A列 B列 C列 D列 E列 F列 1 100 2006/5/3 東京 8:10 8.00 103 2 101 2006/5/3 名古屋 9:10 7.25 2006/5/3 3 102 2006/5/3 大阪 7:45 5.00 3.50 4 103 2006/5/3 京都 10:30 3.50 5 104 2006/5/3 札幌 8:40 4.75 6 100 2006/5/4 福岡 8:45 5.00 7 101 2006/5/4 東京 9:05 6.25 8 103 2006/5/4 大阪 8:15 1.50 9 105 2006/5/4 横浜 10:15 3.00
- ベストアンサー
- オフィス系ソフト
お礼
試してみました。 確かに思うようになるのですが、 sheet4の式だけが入っているデータも、ソートされて最上部に空白セルがくるのが・・・ どうも、ありがとうございました。
補足
失礼しました。 降順でならびかえでしたね。 これでうまくいきました。 しかし、並び替えするのが・・ どうも、ありがとうございました。