• 締切済み

エクセルのデータ抽出で列が飛び飛びなんですが

仕事でエクセルを使い始めた初心者です。 シート1に B    D    E     G       K    L   ←列番号 品名 型番 メーカー 数量 ~~ 発注先 単価 ~~ ○○ △△ ××    5  ~~ ◎◎◎ 100 ~~ ●● ▽▽ ××    3  ~~ ■■■ 500 ~~ ∵∵ □□ ▲▲    1  ~~ ◎◎◎ 400 ~~ といった感じで何百件もデータを入力してありまして これをシート2で 発注先 ◎◎ ←ここに発注先名をいれる A    D    H     J    L 品名 型番 メーカー 数量 単価 ○○ △△ ××    5  100 ∵∵ □□ ▲▲    1  400 こうやって必要なところだけを抽出させたいのですが 範囲の指定の仕方がわかりません。 VLOOKUPだと一つ一つ入力しないといけなそうですし AdvancedFilterだと飛び飛びの列の指定の仕方がよくわからないのです。 列番号が飛んでるのは、セルの結合などが多々まぎれてるからです。 どんな構文をかけばいいんでしょうか?

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

NO1です。 シート2側のセル結合をしないで列幅を拡張する事では駄目でしょうか。

neo556
質問者

補足

遅くなりました。シートを作り直しまして シート1が  B    D    E     G       K    L   ←列番号 6 品名 型番 メーカー 数量 ~~ 発注先 単価 ~~ 7 ○○ △△ ××    5  ~~ ◎◎◎ 100 ~~ 8 ●● ▽▽ ××    3  ~~ ■■■ 500 ~~ 9 ∵∵ □□ ▲▲    1  ~~ ◎◎◎ 400 ~~ ↑ 行番号 シート2が  A    B    C     D    E 4 発注先 ◎◎(B4セル) ←ここに発注先名をいれる 5 6 7 品名 型番 メーカー 数量 単価 8 ○○ △△ ××    5  100 9 ∵∵ □□ ▲▲    1  400 こんな感じになりまして 今度はエラーはでなかったんですが セルの配置が若干変わってしまい 変換部分がいまいちよくわからなくなってしまいました。 もう少し試行錯誤してみます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

次の方法は如何でしょうか。 シート2のA3に次の数式を入力します。配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =IF(ROW(A1)-1<COUNTIF(Sheet1!$K$1:$K$1000,$B$1),INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$K$1:$K$1000=$B$1,ROW(Sheet1!$K$1:$K$1000),9999),ROW(A1))),"") D3セルには数式のINDEX(sheet1!A:AをINDEX(sheet1!D:Dに変更し、以下同様に変更完了後、A3:L3範囲を選択して、下方向に必要分コピー H3セルはINDEX(sheet1!E:E J3セルはINDEX(sheet1!G:G L3セルはINDEX(sheet1!L:L

neo556
質問者

お礼

素早い回答をありがとうございます。 さっそく試してみたんですが 「配列数式は結合セルでは使用できません。」 っていわれてしまいました。

関連するQ&A

  • Excelでデータ抽出処理をオートフィルタではなく関数でできませんか?

    Excelで、発注書を作成しようとしています。 1、Sheet1には<発注先><品名><数量>のデータになっており、   同じ発注先のデータも含んでいます。   <発注先> <品名> <数量>    A社   みかん   10    A社   もも     5    B社   ぶどう    3    C社   みかん    5    C社   バナナ    5 2、このSheet1のデータを各発注先ごとに発注書を作成するため   別シートに用意した発注書フォーマットに貼り付けたい。   (注:発注先は60社ほどあり、オートフィルタで発注先ごと      にコピペしていくのは、困難です)  できれば関数でできればいいのですが、何かよい方法はないでしょうか?よろしくお願いします。    

  • シート1とシート2のデータ一致 抽出方法

    エクセルのデータ抽出でお知恵をお貸し下さい。 シート1 A列  B列     C列 品名  製品番号  数量 AA    1AAAA    200 BB    1BBBB    250 CC    1CCCC    300 シート2 A列   B列     C列 品名  製品番号   数量 AA    1AAAA   200 BB    1BBBB   250 AB    AAAA    500 CC    1CCCC   300 上記のようなシートがあります。 内容は同じなのですが、シート2にはシート1にはない品名、製品番号、数量が含まれます。 シート1の品名、製品番号、数量がすべて一致するものをシート3へ抽出し、 一致しなかったデータ(シート1にはなく、シート2にあるものを含め)をシート4へ抽出したいのですが 何か良い方法はないでしょうか??

  • エクセル2000で見積書を作成したいです

    エクセル2000で見積書(予算書)を作成したいです。 エクセル素人ですが水道配管部材の見積書(予算書)作成をしようと思ってます。 部材番号記入での見積書(予算書)にしたいのですが、 シート1を印刷用シート、それぞれの部材リスト用の各シート名を作成(エルボ、チーズ、ソケット、 バルソケなどなど)とします。 1,印刷用(見積書又は予算書)シートA列に部材番号、B列に部材メーカー名、C列に型番(形式)、D列に数量入力、E列に単位、F列に部材見積単価、G列に見積金額(数量×部材見積単価)、 H列に実行単価(仕入れ単価)、 I列に実行金額(数量×仕入れ単価)、J列に利益金額(G列見積金額-I列実行単価)、K列に利益率(この場合、利益金額÷実行単価になるでしょうか?)とします。 2,部材リスト各シートのA列に部材番号、B列に部材メーカー名、C列に型番(形式)、E列に単位、F列に部材単価、、H列に実行単価(仕入れ単価)とします。 例えばシート名がエルボで部材番号はL001~L100・・・・、シート名がチーズで部材番号がT001~T100・・・・。 3,印刷用(見積書又は予算書)シート20行目まで必要項目(見積先、社名、日付など)とします。 4,21行目以降のA列に必要な部材番号を記入(各部材リストシートから部材番号をコピー などして)すると、それに該当する列項目が記入され、それぞれ金額などが出るようにしたいです。 現在、部材リストシートを作成しながら(始めたばかりですが)、その箇所をコピーして見積書(予算書)を作成しています。 関数の=VLOOKUP(検索値,範囲,列位置,検索の型)とかでなるものでしょうか?(意味は分かりませんが・・・) ご教授のほどよろしくお願いいたします。

  • エクセルでの抽出処理について

    環境:windows7 EXCEL2010 社内で物流業務を行っているのですが Excelのシート1内には 列に項目(品番 品名 発注数 発注バラ数 出荷先) 行に(各数値、名称) が入っているのですがこれをもとに出荷表をある程度の整形をしたいと思っています。 (今までは手動でしたが対応に手間がかかる為) 具体的には シート2以降に同じレイアウトで印刷したいフォーマットに作っておきます (最大20社ほどなのでこのレイアウトはあらかじめ作成しています) シート一つにつき出荷先一つ作る前提で 出荷先A の内容をシート2(出荷先Bはシート3・・・出荷先Cはシート4)に転記したいと考えております。 ・シート2の具体的な転記 見出し(出荷先を代入)があり 列には 品番 品名 発注数 発注 バラ数  行には列に対応した出荷先の数量 を入れたいと思っています。 問題なのが 出荷先が行列にAAAAAA、BBBBBB、CCCの様にバラバラではなく連続して並んでいるのですが 発注する品目が増えると行数が増える為、転記するにも起点となる座標がなくて関数をどうしたらいいかと見出しの代入から含め正直わからない所です。 ここからどのようにしたらよろしいでしょうか? よろしくお願いいたします。 ※画像添付しておりますがVBAにていらない行列は削除する処理はいれており 列の項目については記載しました内容のみとなっております。

  • エクセル 抽出

    Sheet1に コード番号 商品名 数量 単価 12345    チョコ   1  50 67891    アイス   1  60 45612    アメ    1  70 と上記のようにデータがあるときにSheet2でコード番号だけ打ち込めば商品名・数量・単価を出せる関数等あれば教えてください。 宜しくお願い致します。

  • EXCELの2つのシートの照合処理マクロについて

    マクロが得意でなく下記の処理が可能かご教授いただければと お願いします。 ・シートAに自社の発注済みデータ ・シートBに発注先から送られてきた受注データがあります。 シートAの発注番号コードとシートBの受注番号コードが一致するので これを基にそれぞれのシートにある数量、単価、金額を照合し 一致しないレコードのみシートCにコピーさせる。 という流れなのですが、 ・それぞれのシートのコード、数量、単価、金額は別々の列にあります。 現在関数とオートフィルターで処理しているのですが効率が悪いため 改善するよう指示されて困っております。 よろしくお願いします。

  • エクセルでの管理方法を教えてください

    エクセルで次のような管理をしたいのですが方法はありますか? 例えば 毎日作成する発注書があります。 この発注書の内容を関連付けて別のシートまたはファイルの一覧表に自動出力される方法 入力は発注書へ入力をして一覧表への出力でも、逆に一覧表へ入力をして発注書へ出力でもどちらでもいいです。 発注書は社内管理のため一度プリントをする必要がありますがその後は保存の必要はありません。 項目は次の通りです 発注書 No.=J1 発注先=B4 発注日=B7 品名=A11 規格=C11 数量=D11 単価F11 納期=H11  一覧表(別シートまたは別ファイル) No.=A2 発注先=B2 発注日=C2 品名=D2 規格=E2 数量=F2 単価G2 納期=H2 品名以降の項目は複数になる場合があります。 以上、よろしくご指導お願いします。 

  • EXCELで別ファイルからデータを抽出するには?

    EXCELについて条件に一致する列の内容を抽出する方法を教えてください。 シート1の行に日付があり、列に品名と日ごとの数を入力してあるシートがあります。 このシートの内容を別のシートに日付を入力すると、その日の内容が表示されるようにしたいのですが、うまくいきません。 [シート1]     1    2    3   4 (←日付) A品  10  20  30   40… B品  30   10  40  20… C品  15  16   17  18… D品  20  21   22  23… [シート2]     *(←日付を入力) A品 (   ) B品 (   ) C品 (   ) D品 (  ) シート1とシート2はそれぞれ別ファイルで同時に開いている状況です。 シート2の*部分に日付を入れると該当する日付の各品名の数量が( )の部分に表示されるようにするにはどうしたらよいですか?

  • エクセルでリストから抽出並び替えについて

    Sheet1 得意先: あああ商事  条件: 50% 品番     品名       上代  発注数  単価   1001    タオル A     980     5     2450 1002    タオル B     980 1003    タオル C     980 2001    ハンカチ A    680    10    3400 2002    ハンカチ B    680 2003    ハンカチ C    680    10    3400 Sheet2 得意先    品番   品名      上代  発注数  単価 あああ商事  1001  タオル A   980   5     2450 あああ商事  2001  ハンカチ A  680   10    3400 あああ商事  2003  ハンカチ C  680   10    3400 お世話になります。 エクセルでSheet1の商品リストに発注数を入力したものだけを Sheet2にフィルターコピペではなく、数式で並べていきたいのですが 方法はございますでしょうか。

  • Excelの数式教えて下さい・・・

    どうにか自分でやってみようと、教えて頂いたページを参考に試みたものの、やはり無理でした(T_T) こんな私に教えて下さい。 自動車燃料の請求書を作成したいのですが、  A列   B列 C列  D列  品名   数量 単価  金額(数量*単価) レギュラー 20 90 1890  軽油   10 50 188  灯油   30 30 945 軽油税(軽油数量*32.1)=X 品名、数量、単価は手入力(と言う?)です。 (1)「品名」に「軽油」と入力された時のみ「単価」から 32.1の値を差し引いた額を数量を掛けた値を「金額」 に出すようにしたいのです。   (2)請求書の最後に「軽油」のみの総数量に32.1の値が 自動的に出るようにしたいのですが・・・ 私に分かったのは、数量と単価を掛けて「金額」をRoundを使用して四捨五入できた事だけです・・・(しかもレギュラーと灯油のみ) 専門用語も分からない為、かなり把握しずらいとは思うのですが、なにとぞよろしくお願い致します。 もし、よろしければ具体的に数式などを教えて頂ければ 是幸いです。     

専門家に質問してみよう