
エクセル2010での表作成についての質問です。
Sheet1に日毎に売れた商品の個数を入力し、合計の売上を出し月毎に管理しています。
この日毎のデータ売上個数を元に、
売上日報となるSheet2に日付を入力し、その日に売れた物の商品名、価格が表示されるよう、
関数を使って参照・抽出したく思います。
毎日商品が売れるわけではないので、何か売れた時だけ、その日の日報を作成し印刷したいのです。
また、商品の数は約100種類、沢山売れる可能性も少ないので、
今ご質問させて頂いているSheet2に表示される売れた商品項目欄は40とし、
それ以上になった場合は売れた物を別日に回す形で対応したいと思っています。
各セルは次のようになっています
〇月毎の売上管理表(Sheet1)
日付 J2:AN2 (日付を入力し、日のみの表示形式にしています。)
商品名 D4:D68
金額 E4:E68
個数 J4:AN68
〇売上日報 (Sheet2)
月の入力欄 D2
日の入力欄 F2
D2,F2から参照された商品名の表示欄 B15:B54
D2,F2から参照された商品名の表示欄 J15:J54
質問は以上です。お力添え下さい。よろしくお願いいたします。

No.1ベストアンサー
- 回答日時:
こんにちは
要領としての回答になりますが・・・
「日付指定された列の値で、0ではない行のタイトル列(=商品名)を詰めて抽出したい」
という意味と解釈しました。
添付図は簡略化したモデル的なものですが、セル範囲や位置が異なるだけで、構造的には同じだと想像します。(「質問文の添付図が見えないので、勝手な想像ですが…)
チェックの対象日が可変と思いますので、それをK1セルに入力するものとします。
(添付図の日付表示部分は全てシリアル値です)
抽出は、
> D2,F2から参照された商品名の表示欄 B15:B54
> D2,F2から参照された商品名の表示欄 J15:J54
とのことなので、表示位置は変わっても、内容は同じ「商品名」決め打ちで良いので、商品名をJ列に抽出する例にしてあります。
添付図では日付指定(=K1セル)に2/3を指定し、それに対応する2/3の列(=D列)を縦に見て、値が0より大きな行のA列(=商品名)をJ列に抽出しています。
抽出に作業列を用いる方法と用いない方法を以下に紹介しておきます。
(多分)前者の方がわかりやすいので、比較的容易に応用ができるのではないでしょうか?
◇方法1
添付図ではH列に作業列を設定しています。
(例として示すためなので、もっと右側でも非表示列でも別シートの列でもかまいません)
対象日(k1セル)に該当する列を検索して、その列の値の有無をチェックします。
添付図では、H2セルに
=IF(OFFSET(A2,0,MATCH($K$1,$B$1:$F$1,0))>0,COUNT($H$1:H1)+1,"")
の式を入れ下方にフィルコピーしています。
この結果、対象列で空欄(or 0)でない行に、上から順に連番が振られます。
あとは作業列の値を1から順に検索して、その商品名(A列)を示せばよいので、
J4セルに
=IFERROR(INDEX(A:A,MATCH(ROW(A1),H:H,0)),"")
の式を設定し、下方にフィルコピーすれば、添付図のようになります。
K1セルの日付を変えれば、それに応じた日の結果が表示されます。
◇方法2
同様の計算を、中間結果を作業列に表示することなく行う方法で、考え方はほぼ同様ですが、関数の配列内で計算を終了させてしまうものです。
日付を指定するセルは同様にK1セルと仮定します。
抽出するセル(J2セル)に、
=IFERROR(INDEX(A:A,SMALL(IF(OFFSET($A$2:$A$100,0,MATCH($K$1,$B$1:$F$1,0))>0,ROW($A$2:$A$100)),ROW(A1))),"")
の式を入力し、Ctrl+Shift+Enterで確定します。(←必須です)
確定後、下方にフィルコピーします。

ベストアンサー、お礼が遅くなってしまい申し訳ありません。
また分かりやすくご回答いただき大変助かりました。
ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
if関数の複数条件について
-
【マクロ】実行時エラー '424':...
-
同じ名前(重複)かつ 日本 ア...
-
excel
-
【マクロ】数式を入力したい。...
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
エクセルシートの見出しの文字...
-
エクセルの複雑なシフト表から...
-
エクセルのVBAで集計をしたい
-
エクセルでフィルターした値を...
-
【関数】=EXACT(a1,b1) a1とb1...
-
【画像あり】【関数】指定した...
-
勤怠表について ABS、TEXT関数...
-
エクセルの文字数列関数と競馬...
-
表計算ソフトでの様式の呼称
-
【マクロ】【画像あり】4つの...
-
Excelで4択問題を作成したい
-
空白のはずがSUBTOTAL関数でカ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでフィルターした値を...
-
if関数の複数条件について
-
エクセルシートの見出しの文字...
-
excel
-
エクセルの文字数列関数と競馬...
-
VLOOKUP FALSEのこと
-
同じ名前(重複)かつ 日本 ア...
-
表計算ソフトでの様式の呼称
-
エクセルに写真が貼れない(フ...
-
【マクロ】数式を入力したい。...
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
【画像あり】【関数】指定した...
-
エクセルのVBAで集計をしたい
-
【マクロ】【画像あり】4つの...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
LibreOffice Clalc(またはエク...
-
エクセルのライセンスが分かり...
おすすめ情報