• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで条件付で行ごと別シートに引用?)

エクセルで条件付で行ごと別シートに引用

kagakusukiの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 回答番号:ANo.4です。 >月末締めではなく15日締での集計です。  はい、ANo.4の数式では、そうなっています。  ANo.4に >「最終日から遡った1ヶ月間の期間内に、納品日がある行」 と書いたのは、月の最終日という意味ではなく、2/16~3/15という期間における、「最終日」である3/15という意味です。  その事は、ANo.4の後の方にも、 >これで、Sheet2には、納品日が2/16~3/15の行の発注が表示されます。 と明記しております。  私の表現が悪かったため、どうやら、質問者様の誤解を招いてしまった様で、申し訳御座いません。 >納品分=請求一覧としたかった という部分の意味が良く解らないのですが、もしかすると、E2セルに最終日が表示されたままでは、書類の形式として格好が悪いので避けたい、という意味なのでしょうか?  もし、そうだとすれば、以下の様な方法は如何でしょうか?  まず、Sheet2の B1セルに  年 D1セルに  月度 A2セルに  品名 B2セルに  金額 C2セルに  受注日 D2セルに  納品日 と入力して下さい。  次に、Sheet2のD3セルに次の数式を入力して下さい。 =IF(ROWS($3:3)>COUNTIF(Sheet1!$D:$D,"<"&DATE($A$1,$C$1,16))-COUNTIF(Sheet1!$D:$D,"<"&DATE($A$1,$C$1-1,16)),"",SMALL(Sheet1!$D:$D,ROWS($3:3)+COUNTIF(Sheet1!$D:$D,"<"&DATE($A$1,$C$1-1,16))))  次に、Sheet2のA3セルに次の数式を入力して下さい。 =IF($D3="","",INDEX(Sheet1!A:A,SUMPRODUCT(ROW(OFFSET(Sheet1!$D$1,,,MATCH(9^9,Sheet1!$D:$D)))*(OFFSET(Sheet1!$D$1,,,MATCH(9^9,Sheet1!$D:$D))=$D3)*(COUNTIF(OFFSET(Sheet1!$D$1,,,ROW(OFFSET(Sheet1!$D$1,,,MATCH(9^9,Sheet1!$D:$D)))),$D3)=COUNTIF($D$2:$D3,$D3)))))  次に、Sheet2のA3セルをコピーして、Sheet2のB3~C3の範囲に貼り付けて下さい。  次に、Sheet2のC3セルとD3セルの書式設定を、「日付」にして下さい。  次に、Sheet2のA3~D3の範囲をコピーして、同じ列の4行目以下に貼り付けて下さい。  次に、Sheet2のA1セルに西暦年を、C1セルに月を入力して下さい。  すると、例えば、Sheet2のA1セルに2011、C1セルに3と入力した場合には、Sheet2には、納品日が2011/2/16~2011/3/15の行の発注が表示されます。  他の月度のシートに関しては、Sheet2をコピーしたシートを作成し、C1セルに入力する月度の数字を変更して下さい。  尚、もし、2011/2/16~2011/3/15の期間を、2011年3月度ではなく、2011年2月度としたい場合には、Sheet2のD3セルに入力する数式を、次の様に変更して下さい。 =IF(ROWS($3:3)>COUNTIF(Sheet1!$D:$D,"<"&DATE($A$1,$C$1+1,16))-COUNTIF(Sheet1!$D:$D,"<"&DATE($A$1,$C$1,16)),"",SMALL(Sheet1!$D:$D,ROWS($3:3)+COUNTIF(Sheet1!$D:$D,"<"&DATE($A$1,$C$1,16))))

kanichi1976
質問者

お礼

わざわざ再回答ありがとうございます。 色々試行錯誤の上、それなりな表を作ることができました。

関連するQ&A

  • エクセル 別シートに反映

    入力用シートを作り    A    B     C     D    E 1  品名  申込日  申込者  住所   電話  2 ●    11/3   aaa ****** 123-456 3 ◆    11/30   bbb ****** 456-789 4  ▲    11/30   ccc   ****** 111-333 5 ◆ 12/1 aaa ****** 111-777 6 ▲    12/1   ttt   ****** 668-125 7 ●    12/2   ppp   ****** 555-779 と入力すれば シート●には    A    B     C     D       申込日  申込者  住所   電話  1 11/3   aaa ****** 123-456 2  12/2   ppp   ****** 555-779  シート◆には    A    B     C     D       申込日  申込者  住所   電話  1 11/30   bbb ****** 456-789 2  12/1 aaa ****** 111-777 同じ様にシート▲ と言う風に出来ないでしょうか?? よろしくお願いします

  • エクセルのVLOOK関数の基本がわかりません

    エクセルで下記のような表を作りたいのですがVLOOK関数とかを使えばいいと聞きました。 Helpで検索してもさっぱりわかりませんのでよろしくお願いします。   A列    B列   C列    D列    E列   F列   G列  1 日付   品番   品名    重量    大根   人参  白菜 2 1.10    11    大根    1000   1000 3 1.10    13    白菜    2000           2000 4 1.11    12    人参    750        750 5 1.12    13    白菜    500            500 ↑(1)B列に品番を入力したらC列に品名が自動的に表示される  (2)D列に入力したらそのデータがC列の品名により、それぞれ指定した列に自動的に表示される 以上のようなことができるようになりたいのです。よろしくお願いいたします。

  • エクセルで列ごとに入力されているデータを2列にまとめたい

    今データをこのように入力しています。   A  B  C   D   E 1       大根 白菜 人参 2       100 3           300 4               200 これを下記のように自動的に編集したいのです。   A   B  C  D  E 1 2 大根 100 3 白菜 300 4 人参 200 よろしくお願いいたします。                 

  • Excel集計方法を教えてください!

    以下のようなシートがあります。 シート(1) A列、B列、C列、D列、E列 品名、商品名、A店、B店、C店 --------------------- 果物、いちご、8個、7個、6個 果物、ぶどう、2個、8個、2個 野菜、大根、3個、3個、2個 野菜、人参、2個、5個、8個 野菜、白菜、1個、2個、0個 肉、牛肉、2個、5個、10個 それを、以下のシート(2)のように集計するには、 シート(2)の各B列、C列、D列にどのような数式を埋めればいいか教えてください!! シート(2) A列、B列、C列、D列 品名、A店、B店、C店 --------------------- 果物、10個、15個、8個 野菜、5個、10個、10個 肉、2個、5個、10個

  • エクセル 品目に対してシートの検索と書き出し

    エクセル2010です。 ある品目リストがあり、そこに別のいくつかのリスト(同じブック内のシート)から、品目が同じものがどのシートにあるか、というのを検索してそれぞれのセルに記録したいのです。 何の品目がどのシートに載っているかというリストの作成です。 例えば、メインの品目リストが  ごぼう  にんじん  はくさい  トマト  ほうれんそう  いちご というリストがあったとして、別のシートに、 (シートA)   (シートB)   (シートC) かぼちゃ    だいこん    ブロッコリー はくさい    きゅうり     カリフラワー にんじん    はくさい     すいか たまねぎ    なす      にんじん りんご      すいか     たまねぎ みかん     ピーマン    いちご となっているとします。 これに検索をかけ、メインの品目リストに別リストと重複している品目について、  ごぼう  にんじん シートA,シートC  はくさい シートA,シートB  トマト  ほうれんそう  いちご シートC という結果を書き出したいのです。 これを、メイン品目リストの全品目について、一気に検索と書き出しができないものでしょうか。 エクセルでこんなことができるのかどうかわかりませんが、なにせ品目は数百種類あるので、ひとつひとつ手動で検索して調べてるといつになるかわかりません。 マクロを使うやり方でも、一気にできなくてもできるだけ省力化できる方法などあれば、ぜひともご教授ください。 よろしくお願いします。

  • エクセルのシート1のある行をシート2に入力

    お世話になります。 エクセル2010を使っています。 たとえばシート1に、以下のような行があったとしましょう。     A       B       C    D 1(  1  )(2011/11/11)(にんじん)(100) ()はセルを表し、()内がセル内のデータです。 この行を、シート2に自動入力する方法を教えてください。 よろしくお願いします。

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

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

  • エクセルの表を別のシートに縦に数行おきに書き移したい

    エクセルのSheet1  A商品名 B種別 C金額 D 説明 ・・・・ とまとめてあるデータを、別のシートの表に縦に数行おきに転記したいのです。たとえば sheet2の D3は空欄 D4にsheet1のA2 D5にsheet1のB2 D6にsheet1のC2 D7にsheet1のD2 D8にsheet1のE2 D9は空欄 そして、7行おきに違う商品のデータになり、繰り返します。 (A3~D9までを太いカラー罫線で囲んだフォーマットが商品個数分、空欄で既にsheet2に書き込まれています) 関数で効率よく、データを書き写すことが出来ますでしょうか? よろしくお願いいたします。

  • エクセルで、条件にあう複数の行を別のシートに抽出する

    《どなたか、お教え下さい》   エクセルで、条件にあう複数の行を別のシートに抽出してまとめる。 「sheet1」の下記の基本データを「sheet2」に「得意先」ごと「日付」の早い順にまとめたいのでが。関数を使ってできないものか、どなたかお教え下さい。「マクロ」や「Access」は使用したことがないので、関数を使ってやりたいと思いますが、できるものでしょうか。よろしくお願いします。 sheet1 番号 得意先 日付 商品名 商品詳細 金額 備考 1   A 2   B 2   B 4   D 5   E 6   F 2   B 3   C 5   E   A    B  番号  得意先   1   A      2   B   得意先名は、番号を入力することで表示されるように   3   C   関数「VLOOKUP」を使って表示させるようにしていま   4   D   す。    5   E   6   F  

  • エクセル関数:複数の条件の合う数値の合計

    可能かどうかもわかりませんが。。。 納品の量を管理するためにエクセルを利用したいと考えております。 Sheet1   A   B    C     D   E   ............ 1 出荷先 納品日 りんご みかん いちご ----------------------------------------- 2倉庫  12.01  10    0    5 3八百屋 12.02  0     4    3 4お店ア 12.05  3     2    8 5顧客A  12.03  3     5    0 6顧客B  12.05  0     15    0 7お店イ 12.02  2     2    2 . . . . >>>>>>>>>>>>>>>>> Sheet2 A    B    C    D  ............ 1納品日 りんご みかん いちご ----------------------------------------- 212.01 312.02 412.03 512.04 612.05 . . . Sheet1に入力した内容を、Sheet2で管理できないものかと考えております。 例:Sheet2のセルB2に「12月1日」の「りんご」の納品予定数を表示できないものでしょうか。即ち、Sheet1より「12月5日」の「みかん」の納品数は「2」+「15」で17と関数で計算する方法はないものでしょうか。 VLOOKUPやSUMIFSなどをが使えるのかとも考え、色々と調べてみましたが、どうしてもうまくいきません。 どうぞ宜しくお願い致します。