- ベストアンサー
指定した3つのセルのデータを抽出し別表を作成する方法とは?
kagakusukiの回答
今仮に、A表が存在しているシートがSheet1、B表が存在しているシートがSheet2であるものとして、Sheet3のA列を作業列として使用するものとします。 まず、Sheet3のA1セルに次の数式を入力して下さい。 =IF(OR(INDEX(Sheet1!$B:B$,ROW())="",INDEX(Sheet1!$D:$D,ROW())="",INDEX(Sheet1!$F:F$,ROW())=""),"",ROW()) 次に、Sheet3のA1セルをコピーして、Sheet3のA2以下に、A表の行数を上回るのに充分な行数となるまで、貼り付けて下さい。 次に、Sheet2のA1セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$B:$B,SMALL(Sheet3!$A:$A,ROWS($1:1)))) 次に、Sheet2のB1セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$D:$D,SMALL(Sheet3!$A:$A,ROWS($1:1)))) 次に、Sheet2のC1セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$F:$F,SMALL(Sheet3!$A:$A,ROWS($1:1)))) 次に、Sheet2のA1~C1の範囲をコピーして、同じ列の2行目以下に貼り付けて下さい。 これで、B,D,F列にデータが存在する行のデータが抽出されます。 尚、B,D,F列の全てにデータが存在する行のみ、データを抽出するのではなく、F列のデータの有無には関わりなく、B列とD列の両方にデータが存在している行を、全て抽出する場合には、Sheet3のA1セルに入力する数式を、次の様に修正して下さい。 =IF(OR(INDEX(Sheet1!$B:B$,ROW())="",INDEX(Sheet1!$D:$D,ROW())=""),"",ROW())
関連するQ&A
- ★エクセルで星取表を作成したい★
お世話になります。 エクセルのA~Zの行にあるデータをA列に入力した時に★(1でもいいのですが)を表示させたいのです。 A B C D E F G・・・・・ 1 2 3 4 5 6 1 ★ 2 ★ 6 ★ 上のようなイメージです。VLOOKやIFなどやっては見たのですが出来ませんでした。 ちなみにVBAやマクロは苦手です。関数でよい方法はありませんか? お願いします。
- ベストアンサー
- Windows系OS
- EXL指定した文字列リストと同一を指定セルに表示
下記のようなエクセルデータになっています。 表示の関数についてご教授願いますようお願いいたします。 上部の検索条件です(50行くらいあります) A列 B列 C列 D列 E列 F列 a a a b c 1 1 1 3 1 下部のフィールドです(数百行あります A列 B列 C列 D列 E列 F列 a a a b c 1 1 1 3 1 2 2 2 E 2 表示したい条件 A列 B列 C列 D列 E列 F列 a a a b c 1 1 1 3 1 2 2 2 E 2 F列のセルにD列と同じ文字列がある場合、文字列又は”○”で 表示出来たらと思います。 よろしくご教授のほどお願いいたします。
- ベストアンサー
- SE・インフラ・Webエンジニア
- 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 といった感じで決まった数字を表示する方法がないでしょうか? こんな説明でご理解頂けるかどうか、心配なんですが・・・。 いい方法をご存知の方がいらっしゃいましたら、力を貸して下さい。
- ベストアンサー
- オフィス系ソフト
- 指定した数だけデータをコピペする方法
VBAの参考例を教えてください。 <シート1> A列に1から順に数字が入力されており、B列からE列まで数値のデータが入力されています。F列にはB列からE列にデータが入力されているセルの数をカウントした関数が入力されています。 <シート2> シート1のB~Eに入力されたデータが縦に入れ替えの上A列にコピぺされています。 ここで、シート1のA列の数値をコピーし、シート1F列に示されたデータ数分だけ、シート2のF列に縦に順々にペーストしていく方法をご教示ください。シート1のA列に入力された数値が最後の行にくるまでこれを繰り返します。 シート1 A B C D E F 1 a b c d 4 2 e d f 3 3 d e 2 ・ ・ ・ シート2 A B C D E F a 1 b 1 c 1 d 1 e 2 d 2 f 2 d 3 e 3 当方、VBAは全くの初心者です。急遽仕事で必要になってしまい、質問しました。 どうぞよろしくお願いします。
- 締切済み
- Visual Basic
- エクセル~空白のセルのある行を非表示に。
エクセルで。 例えば、100行の表があって、1行目から順番にデータを入れていくんですが、 データが50行までで終わってしまった場合に、51行目からを、非表示にしたいのです。 Aドライブからのデータの読み込みは、マクロをつかっているので、できればそのあとに文章をくっつけて、1つのマクロで作業を完了したいのです。 具体的に言いますと・・・ A列には1~100までの数字が入力してあります。 B~E列には取り込んだデータ(数字)をVLOOK関数で文字に変換するようになってます。 それ以降は、固定した単位(m3)や、データの数字がそのまま入る・・・という感じです。 そして、101行目はそれぞれの列の合計を出すようにしてます。 つまり、データを読み込んだあと、例えば50行しかデータが無かったら(B50やC50などが空白だったら)、51行目から100行目までをいわゆる『表示しない』にしたいのです。 だいぶ考えましたが・・・・。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで指定した項目を別のファイルで表示するには?
現在、会社でエクセルで管理表の雛形を作成しようとしているのですが、中々いい案が浮かばないので、皆様の知恵を貸して頂きたく質問を書き込みました。よろしくお願いいたします。 現在使用している管理表が3つあるのですが、一つの管理表(仮にAとします)に残りの二つの管理表(B・C)に入力されているデータの指定した部分の項目のみを、一つの管理表(A)に反映させたいのですが、この場合どういった関数を使用するのが良いでしょうか? 管理表の主な内容 ~管理表A~ 項目が10以上ある。 データは半期ごとで管理したい。 ~管理表B~ 項目は10以下。 データは月ごとにシートで分けて管理したい。 ~管理表C~ 項目はBと同じ位。 データは月ごとにシートで分けて管理したい。 やりたい事は↓ 管理表Aに管理表B・Cの指定した項目のデータをリンク(反映)させたい。 例:管理表Bの2行目のB・D・G列に入力されたデータを 管理表Aの2行目のA・B・C列に表示させ、 管理表Cの2行目のA・C・F列に入力されたデータを 管理表Aの2行目のD・E・F列に表示させる。 こういった事は可能なのでしょうか? よろしくお願いいたします。
- ベストアンサー
- Windows系OS
- 抽出した表でデータをカウントしたいのですが・・・
タイトルにあるとおり、あるデータをオートフィルで抽出した状態で、その抽出結果からデータをカウントしたいのです。 以下のような表があったとします。 A B C D E F G H I 1 ○ ○ ○ ○ 2 ○ ○ ○ ○ 3 ○ ○ ○ ○ 4 ○ ○ ○ ○ 5 ○ ○ ○ ○ 6 ○ ○ ○ ○ 7 ○ ○ ○ ○ 8 ○ ○ ○ ○ 9 ○ ○ ○ ○ この表では、仮に各行○が4つとして、ランダムに各列に○が振り分けられています。 A列・4個、B列・5個、C列・4個、D列・4個、E列・6個、F列・4個、G列・4個、H列・3個、I列・2個 という状態です。 A B C D E F G H I 1 ○ ○ ○ ○ 2 ○ ○ ○ ○ 3 ○ ○ ○ ○ 4 ○ ○ ○ ○ 5 ○ ○ ○ ○ 8 ○ ○ ○ ○ 9 ○ ○ ○ ○ ある条件でオートフィルによって、抽出した結果が上の表です。 今回の例では6,7行が消えた状態だったとします。 それぞれ、A列・3個、B列・4個、C列・3個、D列・3個、E列・5個、F列・4個、G列・3個、H列・2個、I列・1個 と、いう結果になりました。 このような状態になった表で最下段、この場合9から上に向かって3行分の○をカウントするような方法、または便利な関数はありますでしょうか? 今回の例ですと、最下段から、3行分、5、8、9のそれぞれの列の○をカウントするという感じです。 A列・1個、B列・2個、C列・1個、D列・1個、E列・2個、F列・1個、G列・2個、H列・1個、I列・1個 これが今回の例における求めたい結果です。 抽出してない状態でしたら、OFFSET関数でいけるのですが、抽出した状態からだと私のスキルでは解決できません。 どなたか、ご存知の方ご教示よろしくお願いします^^;
- 締切済み
- オフィス系ソフト
- 複数セルから特定の文字を検索して、その対象セルを抽出したい
エクセルで関数、VBAを使用して、下記のようなDATA抽出を行ないたいのですが、どなたか、ご指導いただけないでしょうか。 たとえば、2種のシートが、各々、 <シート1> 列A 列B 行1 A1 ABCD-123 行2 B23 EFGH-456 行3 C456 あいうえお <シート2> 列A 列B 列C 列D 列E 行1 A1 A2 A3 行2 B23 C5 A4 行3 A5 B2 C456 ・・・・・・・となっている場合、 <シート2> の列D 行1 へ "A1"と入力(記載)がある場合、列Eに ”ABCD-123”と表示(抽出)を行ないたい。 セルには、文字、数字、記号が入ります。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 重複するデータの抽出について(エクセル)
エクセル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列には重複するデータはありません。 わかりにくい文章ですみませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- [Excel2000]データの参照と抽出方法
A列はC列のデータの一部を抽出したものです。 A列のデータと同じデータがC列の中にあったら、すぐ隣のD列のデータを B列に表示させたいです。(C列とD列は隣同士セットになっています。) この場合、関数はどうすればよいですか? 心ある方、ぜひ教えてください。 ◎実行前 (A列) C列) (D列) 1000-1 1000-1 D0001 1002-1 1001-1 E0001 1003-1 1002-1 F0001 ◎実行後 (A列) (B列) (C列) (D列) 1000-1 D0001 1000-1 D0001 1002-1 F0001 1001-1 E0001
- ベストアンサー
- オフィス系ソフト
お礼
計画していた表が作成できました。大変ありがとうございました。