• ベストアンサー

広範囲から数字を抽出する場合

エクセルで注文表を作っています。 B1から右方向に日付が(5/1,5/2,5/3,5/4・・・) A2から下方向には製品名、B2から右と下方向は空白のセルです。 この空白のセルには、製品が出荷された数量を入力します。 (1製品に付き、出荷されるのは月に1回、数字が入るのは1行毎に1つのセルのみです) このカレンダー式のリストを基に、別のシートに出荷日と出荷数量のみを、それぞれ表示したいと思っています。 広い範囲の中で数字の入力されているセルと、その該当日を抽出したい場合、どのようにしたら良いのでしょうか。 関数でできれば一番ありがたいのですが・・ 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • edomin
  • ベストアンサー率32% (327/1003)
回答No.1

A B C D E F G H    5/1 5/2 5/3 5/4 5/5 5/6 5/7 1あ    5 2い        3 3う           21 4え      8 5お               10 6か  15 上記のようなデータがあったとします。 (うまく表示できません m(_ _)m ) 「あ」5月2日  5個 「い」5月4日  3個 「う」5月5日 21個 「え」5月3日  8個 「お」5月7日 10個 「か」5月1日 15個 たとえば「う」の商品がいつ出荷されたかを検索するには、 =MATCH(0,B3:H3,-1) で、場所が確定されます。(上記の場合、「5」が帰ってきます。B列から計算しているため。) これから、日付を =INDEX(B1:H1,1,MATCH(0,B3:H3,-1)) で求めます。 また、数量は、 =INDEX(B3:H3,1,MATCH(0,B3:H3,-1)) で求めます。

ma-fire
質問者

お礼

ありがとうございました。 無事にリストを完成させることができました。 分かりやすく教えて頂いて感謝です。 助かりましたm(__)m

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

(データ)Sheet5のA1:F5(以下・以右は略) 5月1日 5月2日 5月3日 5月4日 5月5日 製品1 23 製品2 11 製品3 45 製品4 (関数式) Sheet4のA2に =Sheet5!A2 Sheet4のB2に =OFFSET(Sheet5!$B$1,0,MATCH(SUM(Sheet5!B2:AF2),Sheet5!$B2:$AF2,0)-1) を入れ、B3以下に製品数行だけ複写する。 Sheet4のC2に =SUM(Sheet5!B2:AF2) といれC3以下に製品数行だけ複写する。 (結果)Sheet4のA2:C4に 製品1 5月3日 23 製品2 5月2日 11 製品3 5月5日 45 =sumが気になるが、これでも出来るかなと。 また製造されなかった製品は空白にすることは、出来ますが、省略。

ma-fire
質問者

お礼

ありがとうございました。 色々な方法があるので、今後は勉強しつつ・・ みなさま、本当にありがとうございました。

  • sero
  • ベストアンサー率47% (916/1944)
回答No.2

製品が10種類と仮定して まず、入力シートに作業用の行を確保します。 その行(例えばB12セル)に下記の式を入力して、必要な列数だけコピー =MATCH(1,B2:B11,-1) 出荷日と出荷数量のみを出力したいシートに移動し B1セルに =入力シート!B1 B2セルに =OFFSET(入力シート!B2,入力シート!B12-1,0) 行列変換する場合や入力位置を変更する場合は、適宜読み替えてください。

ma-fire
質問者

お礼

ありがとうございました。 OFFSET関数は初めて知りました。 使い方を勉強してみたいと思います。 ありがとうございました。

関連するQ&A