• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで納品書を作りたいです。)

エクセルで納品書を作成する方法と関数

このQ&Aのポイント
  • エクセルで納品書を作成する方法として、シート2に関数を使ってリンクさせる方法があります。
  • シート2の特定のセルに得意先番号を入力すると、シート1から該当するデータを抜粋して納品書を作成することができます。
  • 具体的な手順や関数の種類については、エクセルのヘルプやオンラインの資料を参考にしてください。

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

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

こんばんは! 一例です。 ↓の画像で説明させていただきます。 まず、Sheet1に作業用の列を設けています。 作業列D2セルに =IF(OR(Sheet2!$A$2="",A2<>Sheet2!$A$2),"",ROW(A1)) という数式を入れ、フィルハンドルの(+)マークでダブルクリック、又はオートフィルで下へコピーします。 そして、Sheet2のB2セルに =IF(COUNT(Sheet1!$D$2:$D$2000)<ROW(A1),"",INDEX(Sheet1!B$2:B$2000,SMALL(Sheet1!$D$2:$D$2000,ROW(A1)))) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 尚、数式はSheet1の2000行目まで対応できるようにしています。 以上、参考になれば幸いです。m(__)m

その他の回答 (3)

回答No.4

>>同じようなことをしたい問い合わせが過去にありますので、参考にしてください。 リンクが張り付いていないので補足 http://okwave.jp/qa/q5917603.html ほかに EXCELのどの関数を使って操作すればいいのかわかりません!! http://okwave.jp/qa/q5922094.html オートフィルタでコピペが楽なような気もしますが、数式で D1セル 0 D2セル =(A2=$G$1)+D1 G2セル =MAX(D:D) F5セル =IF(ROW(A1)>$G$2,"",ROW(A1)) I5セル =MATCH(F5-1,D:D)+1 G5セル =IF($F5="","",INDEX(B:B,I5)) 右へオートフィル F5:I5セル範囲を下へオートフィル F:I列をきりとって 別シートへ貼り付け 添付図参照 参考まで

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

既に回答は出ていますので,参考に少し簡単な方法です。 添付図: シート1 A列番号 A2 =IF(B2=Sheet2!$A$2,COUNT($A$1:A1)+1,"") B列得意先番号 C列商品 D列数量 シート2 得意先番号  A2 100 など A列納品番号 A5 =IF(ROW(A1)>MAX(Sheet1!A:A),"",ROW(A1)) B列商品   B5 =IF($A5="","",VLOOKUP($A5,Sheet1!$A:$D,3)) C列数量   C5 =IF($A5="","",VLOOKUP($A5,Sheet1!$A:$D,4))

  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

同じようなことをしたい問い合わせが過去にありますので、参考にしてください。 OFFICEカテゴリにて 「エクセル、マクロにて月を指定して別シートに表示はできるのでしょうか?」 シート2にて検索条件を入力し、シート1の該当する明細を判定し 結果をシート2に列挙するものです。4ページ目付近、最近です。 関数ではなく、VBAを使うと実現します。 範囲の先頭から順番にセルの値を判定し、 セル位置を下(=1000)へ順番にカウントアップしていきます。 値がヒットした場合は、セル内容をシート2へ設定、 値がヒットしない場合は、セル位置を1つ下へ移動、 これの繰り返しです。 シート1の内容をシート2へ、というのはセル指定の前にシート名を付与すると できます。 VBAについてはこういうサイトを探してみることです。 ExcelVBAへの道 http://www.voicechatjapan.com/excelvba/p4.html

hiro_o463
質問者

補足

アドバイスありがとうございます。 エクセルは初心者の為、ExcelVBAへの道でVBAの手順など見てみたのですが 良く分かりません。 手順を教えていただけると助かります。宜しくお願いいたします。

関連するQ&A