- ベストアンサー
エクセルで納品書を作成する方法と関数
- エクセルで納品書を作成する方法として、シート2に関数を使ってリンクさせる方法があります。
- シート2の特定のセルに得意先番号を入力すると、シート1から該当するデータを抜粋して納品書を作成することができます。
- 具体的な手順や関数の種類については、エクセルのヘルプやオンラインの資料を参考にしてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 一例です。 ↓の画像で説明させていただきます。 まず、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)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
>>同じようなことをしたい問い合わせが過去にありますので、参考にしてください。 リンクが張り付いていないので補足 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)
- layy
- ベストアンサー率23% (292/1222)
同じようなことをしたい問い合わせが過去にありますので、参考にしてください。 OFFICEカテゴリにて 「エクセル、マクロにて月を指定して別シートに表示はできるのでしょうか?」 シート2にて検索条件を入力し、シート1の該当する明細を判定し 結果をシート2に列挙するものです。4ページ目付近、最近です。 関数ではなく、VBAを使うと実現します。 範囲の先頭から順番にセルの値を判定し、 セル位置を下(=1000)へ順番にカウントアップしていきます。 値がヒットした場合は、セル内容をシート2へ設定、 値がヒットしない場合は、セル位置を1つ下へ移動、 これの繰り返しです。 シート1の内容をシート2へ、というのはセル指定の前にシート名を付与すると できます。 VBAについてはこういうサイトを探してみることです。 ExcelVBAへの道 http://www.voicechatjapan.com/excelvba/p4.html
補足
アドバイスありがとうございます。 エクセルは初心者の為、ExcelVBAへの道でVBAの手順など見てみたのですが 良く分かりません。 手順を教えていただけると助かります。宜しくお願いいたします。