• 締切済み

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

仕事でエクセルを使い始めた初心者です。 シート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
質問者

お礼

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

専門家に質問してみよう