• 締切済み

Excelの別シートにあるデータの抽出方法について

毎月の作業の軽減ができればと思います。 サーバーから実績データをダウンロードしてExcelに変換し、データを統合しようとしていますができません。   A列  B列      C列     D列 1 空白 (株)A○○支店 空白    空白 2 粉   空白     実績(金額) 予算(金額) 3 生   空白     実績(金額) 予算(金額)  4 他   空白     実績(金額) 予算(金額) 5  6 空白 (株)A××支店 空白    空白 7 粉   空白     実績(金額) 予算(金額) 8 生   空白     実績(金額) 予算(金額) 9 他   空白     実績(金額) 予算(金額) ・ ・ ・ となっています。 (株)Aの各支店の実績と予算を、粉・生・他別で統一したいのですが、 できますでしょうか? ちなみに、会社は(株)A、(株)Bなど数社あります。 また、使用しているExcelは2000です。

みんなの回答

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

方法1: 集計したい会社名一覧が事前に整備できているなら かつ,簡単なケースとしてご相談で例示されているように「粉」「生」「他」の順で必ず3つずつデータが並んでいるというのなら シート2のA列に会社名を列記し たとえばA2に「(株)A○○支店」と記入されているなら =INDEX(Sheet1!C:C,MATCH(A2,Sheet1!B:B,0)+1) などのようにして「(株)A○○支店」の最初のデータ(それが「粉」であるという前提で)を参照できます。 方法1’:参考にひとつバリエーションとして 各会社に粉は一応あるんだけど,その会社の中で何番目のデータで現れるのか決められないような場合 シート2のA列に会社名を列記し たとえばA2に「(株)A○○支店」と記入されているなら =VLOOKUP("粉",OFFSET(Sheet1!$A$1:$D$4,MATCH(A2,Sheet1!B:B,0),0),3,FALSE) =VLOOKUP("粉",OFFSET(Sheet1!$A$1:$D$4,MATCH(A2,Sheet1!B:B,0),0),4,FALSE) などのようにして「(株)A○○支店」に出てくる粉の実績と予算が得られます。 方法2: B1セルからリスト下端のB9セルとかまで選択する Ctrl+Gを押す 現れたダイアログでセル選択のボタンをクリックする 現れたダイアログで空白セルにマークしてOKする ご質問に例示された事例の通りにデータが用意できているなら,B2セルを先頭に空白セルがとびとびで選択されるので,数式バーに =B1 と記入して「コントロールキーを押しながら」Enterで一斉に入力する 1行目に空行を挿入し,A1には「種別」と記入する。B1には「会社」と記入する。C1には「実績」と記入する。D1には「予算」と記入する。 データメニューのピボットテーブルレポートで一気に集計する または B列を列選択する コピーする B列に重ねて形式を選んで貼り付けの値にマークして値に変える A列で並べ替えて,粉のデータは粉のデータ同士並べて集めて欲しい表ができあがる。 #いずれもお薦めですが,たいがいの方はこういう方法を好まずどんなに難しくても関数でやりたがります。

obiobi2028
質問者

お礼

回答を頂きましてありがとうございました。 御礼が遅くなり申し訳ございません

関連するQ&A

  • excelでデータを別シートに引っ張ってきたい

    excelで値を検索し、返す時、返す値の横にあるデータを違うシートのセルの下に一緒に引っ張ってきたいときの関数(方法)を教えてください。 素人なので分かりにくいと思いますが、お知恵をお借りしたいと思います。 あるデータのシートの検索値を別シートに持ってきたいのですが、シート1をシート2のようにしたいのです。 /は空白 例)シート1 /A B C D E 1(1) □ ○ ▽ ◎ 2 (2) ▼ ■ ◇ ◎ シート2 / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 分かりにくいかもしれませんが、 シート1の(1)(A1)を検索すると、シート2(B1)に□(これはVLOOKで引っ張ってこれるのはわかります。) 次にシート1の(C1)○をシート2の(B2)へ持ってきたいのです。シート1(D1)(E1)はシート2の(C2)(D2)へ。 しかもシート1のC列は空白セルもあり、シート1のC列が空白の場合、下にずれることなくシート1の(D1)(E1)はシート2の(C1)(D1)へ。下記<図a>のようになるようにしたいのです。 そして、シート2のA列に検索値として入力する(1)や(2)の値は連番ではなく、(2)の次に(5)に飛んだりします。(2)の行のC列にデータがあっても、(5)のC列にデータはないこともあります。<図b> <図a> /A B C D 1 (1) □ ▽ ◎ 2 (2) ▼ ◇ ◎ <図b> / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 5 (5) □ ▽ ◎ 6 (7) ▼ ◇ ◎ vlookとかCLUMN関数とか考えてはみたのですが、どうもうまくいきません。 毎回作成するデータなのですが、毎回コピペで作成しています。 とても面倒なので(1)を検索したらデータが一瞬で検索できるようにしたいと試みてはみたものの、私の知識では不可能でした。 関数では無理なのでしょうか。。。 関数はあまり詳しくないので分かりやすい方法があれば、教えていただければ助かります。 関数に詳しい方、よろしくおねがいいいたします。 関数にはこだわっていません。違う方法があればそれも含めておねがいいたします。

  • EXCELで別シートから値の一致しないデータを抽出する方法

    Sheet1のA列に A1 123 A2 456 A3 789 のデータが入力されており、Sheet2のB列に B1 666 B2 123 B3 888 B4 999 B5 456 B6 888 のデータが入力されている場合に、 下の表のように、Sheet1のA4以降のセルにSheet2のB列から ・Sheet1のA1~A3に一致しないデータ ・Sheet2のB列で重複しないデータ ・降順 の3点の条件で抽出する方法を関数で教えてください。 よろしくお願いします。 Sheet1 A1 123 A2 456 A3 789 A4 999 <-ここからSheer2のデータでA1~A3以外の値でSheet2の重複をさけて降順で表示させたい A5 888 A6 666

  • エクセル:別のシートへ抽出したデータをリンクさせたい。

    次のようなシートがあります。(シートAとします。)     A    B    C  … [1] 001  AAA [2] 002  BBB  あああ [3] 003  CCC [4] 004  DDD   [5] 005  EEE  いいい C列の空欄データは除外して、C列にデータが記入されているものだけ別のシートに(シートB)に行ごとリンクさせたいと考えています。 (この場合だと2列と5列です。) シートAには今後もデータが追加される想定で、新しいデータで当てはまるものは自動的にシートBに反映されるようにさせたいのですが…。 マクロ等は詳しくありません。できるだけ簡単にできる方法があればご教授していただきたいと思います。 よろしくお願いいたします。

  • エクセルExcelでの空白を詰めてのデータ抽出の方法

    ぜひ力を貸してください(>_<) Sheet1は入力専用で A列は日付で固定、B列に入力をします。B列は空白が多いです。  A  B 7/20 7/21 160 7/22 7/23 230 7/24 185 7/25 これをSheet2にB列の空白を詰めて 日付順に表記させたいです  A  B 7/21 160 7/23 230 7/24 185 Sheet2の関数式を教えていただきたいです よろしくお願いいたします

  • Excelでシート間のデータの抽出方法

    1つのブックに集計用のシートと、A店、B店、C店という各店舗別の売上シートがあります。 Sheet集計用のA1にA店のコード(A店は001、B店は002というようなコード)を入れると、Sheet集計用のB列の上期売上、C列の下期売上にSheetA店のB列の上期売上、C列の下期売上のデータが入るようにすることは可能でしょうか? Sheet集計用のA1のコード変更することによってデータを引っ張ってくるシートが変わる様にしたいということなんですが、Excelでどのようにすればいいかわかりません。 各店舗のシートのA1のセルにも、その店舗のコードが入力されています。

  • Excelの質問です。2つの条件のどちらかを満たすデータを抽出し、別シートにデータを移したいです。

    こんばんは。以前の質問でも、データの抽出に関して教えていただいた者です。皆様の優しさに頼りっきりです。 今回は2つ以上の条件でデータを抽出したいと思ったのですが・・・なかなかスマートなやり方が浮かびませんでして(>_<) 今、手元には『名言.xls』というファイルがあります。 シートには名前をつけていません。(Sheet1,Sheet2・・・)といった感じになっています。 Sheet1のA列とB列には、以下のようなデータが入っています。 A列--------B列 sa-1--------若木に腰掛けな ar-1--------毎日少しずつ。それがなかなかできねんだなあ。(相田みつを) sp-1--------「がんばれ、がんばれ」という人がいるより、僕は、「できないでくれ」という人がいる方が熱くなる。(イチロー) sa-2--------骨肉相食む ar-2--------お前自身を知ろうとするならば、いかに他の人々が行動するかを観察せよ。お前が他の人々を理解しようとするならば、お前自身の心を見よ。(シラー『書き板』) ac1--------仕事は来た順。だってそれが誠意でしょ。(哀川翔) というように、A列には番号、B列には名言のデータが、ズラリと入っています。 sa-(=ことわざ)、ar-(=芸術家・思想家)、sp-(=スポーツ選手)、ac(=俳優)といった感じです。 この一覧のデータの中から、A列が「sa-*(ワイルドカード)」あるいは「ar-*」という、2つの条件のどちらかを満たした場合、そのセルの隣にあるB列のデータを抽出し、Sheet2のA列に、抽出したデータを並べたいのです。 皆様の英知をお借しください(>_<) よろしくお願いします<m(__)m>

  • エクセルVBA データを別シートに書き込む

    エクセルの、あるシートのデータを、別シートの項目条件の一致するセルに 書き出す方法を教えていただけますでしょうか?  元のシートには  A列     B列    C列 ID番号 年月日番号  金額 ID番号 年月日番号  金額 ID番号 年月日番号  金額  ・      ・       ・  ・      ・       ・ という形で、データが入っています。各列でデータには重複はありますが、   A列とB列の内容が共に同じという行は、ありません。 これを列項目がID番号、行項目が年月日番号の、金額を参照する表にしたいのです。 新しいシートのA列に降順に全ID番号を、1行目に同じく全ての年月日番号をいれ、 元のシートのC列データ(金額)を新しいシートの該当セルに書き込むには どのようにすればいいでしょうか?このような感じで‥。    月日1 月日2 月日3‥‥ ID1 金額  金額  金額 ID2 金額  金額  金額 ID3 金額  金額  金額  ・  ・  ・ 実は元のシートは10枚ほどあり(期間で区切っています)、おまけに各シートには 登場しないID番号もあります。 そこで、すべてのID番号と年月日番号をまとめ、ひとつのシートにしたいと考えた次第です。 1枚のシートならばピボットテーブルで何とかなるのですが、それをまとめようとすると、 データの量が膨大で、PCがとまってしまう(のか計算が終わらない気が‥) VBAを使えば何とかなるのかもと思いまして、質問いたしました。 エクセルは2007です。 どうぞよろしくお願いいたします。

  • エクセル2000でシートをまたぐ

    シート1のA列に名前B列に空白があります。 シート2も同じようにありC列に金額があります。 シート2のC列に金額が入力されたら、シート1のB列の空白に自動的に表示されるようにしたいのですが、どうすればよいのでしょうか。ちなみにシート1にある名前がシート2にない場合もあります。

  • エクセル:別のシートへ抽出したデータをリンクさせたい。

    QNo.2970713の質問内容についてなのですが、 次のようなシートがあります。(シートAとします。)     A    B    C  … [1] 001  AAA [2] 002  BBB  あああ [3] 003  CCC [4] 004  DDD   [5] 005  EEE  いいい C列の空欄データは除外して、C列にデータが記入されているものだけ別のシートに(シートB)に行ごとリンクさせたいと考えています。 (この場合だと2列と5列です。) シートAには今後もデータが追加される想定で、新しいデータで当てはまるものは自動的にシートBに反映されるようにさせたいです。 この回答の中で、 ★SheetBに =IF(ROW(A1)>COUNTA(SheetA!$C:$C),"",INDEX(SheetA!A:A,SMALL(INDEX(SUBSTITUTE((SheetA!$C$1:$C$10<>"")*1,0,10^5)*ROW(SheetA!$C$1:$C$10),),ROW(A1)))) ★右と下にコピー あるのですが、C列がvlookuo等の数式が入っていると、#REF!となってしまします。 この#REF!を表示させない方法を教えて下さい。

  • 別シートのデータを抽出して並べ替えたい

    シート1のA列だけに1行飛ばしで名前、住所、電話番号のデータが入っています。ついでに、次の情報との間は2行飛ばしになっています。    A         B ―|―――――|―――――― 1|名前a  | 2|     | 3|住所a  | 4|     | 5|電話番号a| 6|     | 7|     | 8|名前b  | といった感じです。 このデータを下のように、シート2に綺麗に並べ替えたいのですが…     A      B         C ―|―――――|―――――|―――――――| 1| 名前a | 住所a | 電話番号a | 2| 名前b | 住所b | 電話番号b | 3| 名前c | 住所c | 電話番号c | ひとつずつコピペで移そうと考えていたのですが、データが何百件と増えてしまったため困っています。 簡単にできる方法があれば教えてください。 よろしくお願いします。

専門家に質問してみよう