• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで分かりやい発注表をつくりたいのですが)

エクセルで分かりやい発注表を作成する方法

このQ&Aのポイント
  • エクセルを使用して、クリスマスケーキの予約を受け付けるための分かりやすい発注表を作成する方法を教えてください。
  • データは受け付け番号、氏名、連絡先、ケーキの種類(ABCDE)、個数、金額、受取日の7項目で構成されています。
  • このデータをエクセルに入力すると、受取日別に分けた表が自動的に作成されます。23日、24日、25日の各日ごとに受け付け番号、氏名、連絡先、ケーキの種類、個数、金額が表示され、予約の内容を確認できます。初心者でも簡単に作成できる方法を教えてください。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! 一例です。 ↓の画像(小さくて見づらいかもしれません)で左上がSheet1で入力用とします。 余計なお世話かもしれませんが、個数を入力すると単価・金額が表示されるようにしてみました。 Sheet2に画像のように単価表を作っておきます。 Sheet3に表示するようにしてみました。 Sheet1に作業用の列を1列設けています。 Sheet1のF2セルに =IF(D2="","",VLOOKUP(D2,Sheet2!$A$2:$B$6,2,0)) G2セルに =IF(E2="","",E2*F2) という数式を入れ、F2・G2セルを範囲指定 → G2セルのフィルハンドルでずぃ~~~!っと下へコピーしておきます。 そして作業列I2セルに =IF(H2=Sheet3!$A$1,ROW(),"") という数式を入れこれもオートフィルでずぃ~~~!っと下へコピー! 最後にSheet3のA3セルに =IF(COUNT(Sheet1!$I:$I)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$I:$I,ROW(A1)))) という数式を入れ、列方向と行方向にオートフィルでコピーで画像のような感じになります。 Sheet3のA1セルを「24」・「25」と入力すれば24・25日のデータが表示されます。 以上、長々と書きましたが参考になりますかね?m(_ _)m

その他の回答 (5)

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

ケーキの渡し日で並べ替えれば、仕舞いではないか。 日別に分けたい。 毎日の入力分を受け取り日でソートし、手作業で非別シートにコピペでやること。クリスマス前の7日ぐらいだろうから、作業も少なくて済むはず。 関数でも出来なくは無い。 しかし表の組み換えは、VBAで無いと式も複雑になる。商売でエクセルシートのデータを使うのは、VBAが出来ないと自由にならない。 ーー 日付を指定しての「抜き出し問題」だ。 関数での回答の質問は、Googleででも「imogasi方式」で照会すれば、難しい式でのやり方が載っている。 その関数式の意味も理解するのは関数使用経験が相当要る。

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

>なにぶん初心者なので、分かりやすくお願いします。  ⇒自動でデータ振分けするには難しい関数やマクロが必要になりますので   初心者では厳しいと感じます。   なので、エクセルにある基本的な操作で賄ってみては如何でしょうか。   受付シートと日別シートがあるとすると日別シートに貼り付ける契機の   調整が必要になりますが、次の方法になります。   ・受付シートをオートフィルタしてで受取日列の日別選択して抽出   ・抽出結果を各日別シートに貼り付け   因みに「状況」列を追加して受渡し済み、キャンセル等の情報も設定された方が   良いのではないでしょうか。   

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

元の表がシート1に有ってA1セルからG1セルに項目名が入力されておりそれぞれのデータが下行に入力されるとします。 H列は作業列としてH2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",G2*10000+COUNTIF(G$2:G2,G2)) そこでシート2に23日分を表示させるとしたらA1セルからG1セルの項目名はシート1をコピーして貼り付けます。 A2セルには次の式を入力してG2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$H:$H,230000+ROW(A1))=0,"",INDEX(Sheet1!$A:$G,MATCH(230000+ROW(A1),Sheet1!$H:$H,0),COLUMN(A1))) 別のシートに24日分を表示させるとしたら別のシートのA2セルには次の式を入力して上と同様の操作をします。 =IF(COUNTIF(Sheet1!$H:$H,240000+ROW(A1))=0,"",INDEX(Sheet1!$A:$G,MATCH(240000+ROW(A1),Sheet1!$H:$H,0),COLUMN(A1))) 25日分のシートではA2セルに次の式を入力して同様に操作をします。 =IF(COUNTIF(Sheet1!$H:$H,250000+ROW(A1))=0,"",INDEX(Sheet1!$A:$G,MATCH(250000+ROW(A1),Sheet1!$H:$H,0),COLUMN(A1)))

  • hmnnrkz
  • ベストアンサー率37% (18/48)
回答No.2

基本的な勉強ができていないと思います。 Excel にはデータの”並べ替え”機能があります。 ”excel データ並べ替え”等で検索して調べましょう。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

受取日列で全体を並べ替える,もしくはオートフィルタで絞り込んで確認する,のどちらかの方法が,猿でも間違えない一番簡単確実で最もお奨めの方法なんですが。 この手のご相談を投稿される初心者さん方は,「絶対に関数じゃなきゃイヤだ」と,どんなに口を酸っぱく言っても聞く耳を持ちません。なんとも頑固な事だといつも思います。 できるだけ基本的簡単な関数だけで結果を出すようにしてみます。 受付表をSheet1に作成します A1に「検索列」と記入 B1からH1に「受付番号」から「受取日」まで記入 B2以下にデータを記入します。 A2には =IF(C2="","",H2&TEXT(COUNTIF($H$2:H2,H2),"-0000")) と記入して,表のずっと下までコピー貼り付けておきます。 23日のシートには A1に「検索値」と記入 B1からH1に「受付番号」から「受取日」まで記入 A2に 23-0001 と記入して,下向けにオートフィルドラッグして23-0002,23-0003,…の連番を作成しておきます B2に =IF(COUNTIF(Sheet1!$A:$A,$A2),VLOOKUP($A2,Sheet1!$A:$H,COLUMN(),FALSE),"") と記入し,右に下にコピーして埋めておきます。 24日,25日のシートは,A列の連番をそれぞれ「24-0001」「25-0001」から埋めて使います。