• 締切済み

別シートの条件に合うセルを抽出したい

例えば、sheet1に A列 B列   C列 1/1 東京  佐藤 1/1 横浜  鈴木 1/2 北海道 山田 1/3 大阪  加藤 と入力したとします。 このとき、sheet2のA1に1/1と入力すると、Sheeet2のA2、A3に1/1、B2、B3に東京、横浜、C2、C3に佐藤、鈴木と自動的に表示されるようにしたいのですがどうしたらよいのでしょうか?

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

添付図のように作成し, シート2の A3: =IF(ROW(A1)>COUNTIF(Sheet1!A:A,$B$1),"",SMALL(IF(Sheet1!$A$1:$A$100=$B$1,ROW($A$1:$A$100)),ROW(A1))) を記入してコントロールキーとシフトキーを押しながらEnterで入力し,下向けにコピー。 B3: =IF(A3="","",INDEX(Sheet1!A:A,$A3)) を記入し,下に右にコピー。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

シート1のD列は作業列としてD1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",A1&"A"&COUNTIF(A$1:A1,A1)) シート2のA2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(COLUMN(A1)>3,COUNTIF(Sheet1!$D:$D,$A$1&"A"&ROW(A1))=0),"",INDEX(Sheet1!$A:$C,MATCH($A$1&"A"&ROW(A1),Sheet1!$D:$D,0),COLUMN(A1)))

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

方法はいくつもありますが、フィルターオプションを使ったVBA案です。 準備として Sheet1に   A  B   C 1 日付 場所 名前 2 1/1 東京  佐藤 3 1/1 横浜  鈴木 4 1/2 北海道 山田 5 1/3 大阪  加藤 ・・と1行目に項目名を準備します。 同様に別シートに   A  B  C 1 日付 2 1/1 3 4 5 日付 場所 名前 6 とA1:A2に検索したい条件を入れる範囲 5行目に、表示したい項目名を準備します。 Sheet2の名前のタブを右クリックして、コードの表示をクリック VBエディターが起動しますので Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then Sheets("Sheet1").Columns("A:C").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A5:C5"), Unique:=False End If End Sub を貼り付けて閉じます。 A2セルに日付を入れると一覧表が表示されると思います。

  • umach
  • ベストアンサー率35% (600/1691)
回答No.1

http://allabout.co.jp/gm/gc/3143/ で出来そうですよ。

関連するQ&A

  • エクセルで別シートを参照していて、参照元のデータを変更した場合

    エクセルで別シートを参照したいのですがうまくいきません。 (1)Sheet1には顧客データが入っています。 【Sheet1】   A   B   C 1 氏名 住所 性別  2 小川 東京 男 3 佐藤 大阪 女 4 鈴木 福岡 女 (2)Sheet2ではSheet1の顧客データの一部+獲得ポイントのデータが入っています。Sheet2のA列とB列に「=Sheet1!A2」とういう風に関数を入れてSheet1を参照しています。C列~は手入力でデータを入力しています。 【Sheet2】   A   B    C    D 1 氏名 住所  12/1 12/15  2 小川 東京  1    5 3 佐藤 大阪  1    5 4 鈴木 福岡  1    5 (3)Sheet1に新たに顧客情報を入れますが、氏名は五十音順にしたいので行を挿入して入力します。(行3に加藤さんを入れました) 【Sheet1】   A   B   C 1 氏名 住所 性別  2 小川 東京 男 3 加藤 沖縄 男 4 佐藤 大阪 女 5 鈴木 福岡 女 (4)私の希望としては、(3)をしたらSheet2は↓のようになってほしいのですが、実際には(2)の状態のままです。 【Sheet2】   A   B    C    D 1 氏名 住所  12/1 12/15   2 小川 東京  1    5 3 加藤 沖縄   4 佐藤 大阪  1    5 5 鈴木 福岡  1    5 (5)Sheet1の変更結果をSheet2に反映することは無理なのでしょうか?

  • 別シート上での計算

    先般もこちらでお世話になったものです。 データ入力用のシートに、 月 場所  出向者 1 東京   鈴木 1 名古屋  鈴木 1 大阪   田中 2 京都   佐藤 2 東京   田中 3 大阪   鈴木 3 東京   佐藤 と言うデータがあります。 出向者がどの場所に何回行ったという計算は、集計シート上に {=SUM((データ!B2:B7="東京")*(データ!C2:C7="鈴木"))} で計算できています。 今回は、A列の月(数字)を使って月別のシート上で計算させたいのですが、ちなみにIF関数を用いてやってみました。 {IF(データ!A2:A7=1,sum((データ!B2:B7="東京")*(データ!C2:C7="鈴木")),"")} これだとA2に1と入れるとA3~A7に他の数字が入っても、全データの集計が1月のシートに、A2に2と入れると、全データの集計が2月のシートで行われてしまいました・・・(--メ どなたか、うまく月別シートに分けられる方法をご教示くださいm(__)m

  • 別シートへ自動記入

    sheet1   A   B    C 1 3/4  大阪  岡田 2 3/5  東京  鈴木 3 3/5  大阪  石川 4 3/6  広島  稲葉 5 3/6  東京  渡辺 ・ ・   ・   ・ ・ ・   ・   ・ sheet2(大阪)  A 1岡田 2石川 sheet2(東京)  A 1鈴木 2渡辺 sheet1のB列に大阪と入力すると、それに対応するsheetにこの場合はsheet2のA列にsheet1のC列を、東京入力でsheet3のA列に名前を自動で入力するにはどのようにすればよいでしょうか? 数千円する本を買ってきてやってみて、ネットでも調べましたが全然ダメです。知識が足りませんがどうかよろしくお願いします。

  • シートの合計

    よろしくお願いします。 エクセルでシート1~3迄あります。各シ-トのA列は名前、B列に数字が入っています。名前はA列のどの行にあるかわかりません。 同じ名前をシート4のA1に入力したらその名前の合計を出したい。  シート1    シート2   シート3       シート4   A   B    A   B   A    B     A    B 山田 10   木村  5  佐々木 18   木村  55  鈴木 20   田中 21  伊藤  33    ↑ 木村 50   山下 70  加藤  57  (入力する) 田中 15   高橋 90  佐藤  61 高橋 60   山田 10  鈴木  12             ・   ・   ・          

  • エクセルで条件に一致したセルの隣のセルを取得したい

    下のような「得点」という名前のシートがあります。 (「田中」のセルがA1です。)  [ 田中 ][ 10 ][ 200 ]  [ 山田 ][ 21 ][ 150 ]  [ 佐藤 ][ 76 ][ 250 ]  [ 鈴木 ][ 53 ][ 350 ] 別のシートのA1セルに、「佐藤」と入力すると、  [ 佐藤 ] 「得点」シートから「佐藤」の列を見つけて、B1、C1に  [ 佐藤 ][ 76 ][ 250 ] のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。 「得点」シートでは氏名が重複する事はありません。 IF文を使うと思うのですが、いまいち良く分かりませんでした。 よろしくおねがい致します。

  • 条件に合致する文字列を別シートに抽出するには

    こんにちは。 エクセルで特定の条件にマッチするセルの隣のセルの文字列を別シートに抽出したいのですが、 どの関数を使えば良いか分かりません…。 ご存知の方がいらっしゃいましたら、ご回答頂ければ助かります。 ※シート1に以下の様に入力されているとして、B列が「0」の隣のセル(A列)の文字列をシート2に抽出したいと思っています。 【シート1】    A   B 1 [鈴木] [0] 2 [佐藤] [5] 3 [高橋] [0]    ↓ 【シート2】    A 1 [鈴木] 2 [高橋] ※佐藤は「5」なので抽出しない。 よろしくお願い致します。

  • 同じ文字列を抽出して新規シート作成

    A列~E列までデータが入力されています。 E列は所々、空白セルがあります。 1行目は見出しです。 元データのA列の中で同じ文字列を探して 見出しと該当するA~E列の行を新規シートとして作成。 その際、シート名はA列の文字列。 A列の文字列が2つ以上見つからなくても A列の文字列を新規シートにする。 最終行は常に変動します。 元データ (B列~E列は割愛) A-1 名前 A-2 鈴木 A-3 佐藤 A-4 鈴木 A-5 山田 A-6 佐藤 新規シート名 「鈴木」 A-1 名前 A-2 鈴木 A-3鈴木 新規シート名 「佐藤」 A-1 名前 A-2 佐藤 A-3 佐藤 新規シート名 「山田」 A-1 名前 A-2 山田 上記の事をマクロで実行させたいです。 ご指南の程、宜しくお願い致します。 エクセル2013

  • シート1の情報をシート2に移動させる

    シート1 100社 .... A B C D 1 A社 100 東京 2 B社 50 大阪 3 C社 200 東京 4 D社 10 福岡 5 E社 300 東京 6 F社 150 大阪 シート2 100社のうちの50社 ...... A B C D 1 A社 佐藤社長 Aランク 2 C社 鈴木社長 Bランク 3 F社 山田社長 Aランク 簡単な例でご説明します。 上記のシート1は、すべての客先が入っています。 それに対し、シート2は重要客先だけに絞った(抽出した)別のデータです。 例えば100社あったら50社。 シート2はシート1にない情報も含まれているため、そのシート2だけにあるB列の山田社長、鈴木社長及びC列のAランク、Bランクなどの情報をシート1の、A、B、C、D社のD列、E列に追加で入力したいという考えです。 シート1とシート2がそれぞれ100社であれば、シート2のB列及びC列の情報をまとめてコピーペーストで移せるのですが、シート1とシート2の1行、2行、3行の行が異なる為、簡単にコピーペーストだけではできない状況です。。 このような場合、どのようにすれば簡単にシート2の情報をシート1に移せるか、教えて頂けますか。

  • エクセル(2003・2007)でデータ抽出し、別シートを作成するための

    エクセル(2003・2007)でデータ抽出し、別シートを作成するための関数を教えて下さい ●シート名:サンプルA                ●シート名:サンプルB   A  B    C   D  E・・        A  B     C   名前 日付1  日付2  備考      名前 日付1   備考 1 山田 2010/10/15 2010/10/10 ああ    1 鈴木 2010/10/18 うう 2 佐藤             いい       2 太田 2010/10/21 かか  3 鈴木 2010/10/18 うう     → 4 井上 2010/11/20 ええ 5 石田 2010/8/7 2010/10/7 おお 6 太田 2010/10/21 かか 具体的に上記のデータから【B列が本日から10日間以内かつC列がスペース】のデータのA・B・D行を別シートに作成する関数を教えて下さい よろしくお願いします ※なぜか文字がずれてしまってて、すいません・・・

  • excelでシートから別シートに抽出する方法

    データシートに A   B    C 佐藤 りんご  25個 木村 オレンジ 3個 伊藤 メロン  12個 伊藤 スイカ  2個 佐藤 イチゴ  40個 佐藤 マンゴー 8個 というデータがあったとします。 それを別のシートに A   B    C 佐藤 りんご  25個    イチゴ  40個    マンゴー 8個 また別のシートに A   B    C 伊藤 メロン  12個    スイカ  2個 といったようにAに佐藤とか伊藤とか入力するだけでB、Cが自動で抽出できるようにできますか? 出来れば関数の入力でやりたいのですがわかる人がいましたらご教授ください。

専門家に質問してみよう