エクセル初心者です。会社の請求書フォーマットを作るのですが複雑で困っています。
Excel2013を使用してます。
Sheet1に受注リストとして、仕事を
・・・・・・・・・・・・・・・・・・・・・・・・・
日付 品名 単価 数量 金額
----------------------------------------------------------------------
9/1 ○○デザイン費 ○○○円 2点 ○○○円
9/2 ▲▲デザイン費 ▲▲▲円 1式 ▲▲▲円
9/3 □□デザイン費 □□□円 3点 □□□円
・・・・・・・・・・・・・・・・・・・・・・・・・
のように依頼された順に打ち込んだシートがあり、
Sheet2には請求書フォーマットを作成しました。
そこで質問なのですが、
リストの内容を仕事ごとに請求書に反映するにはどうしたらよいのでしょうか?
請求書1枚につき1項目、つまり
9/1 ○○デザイン費 ○○○円 2点 ○○○円
の内容は請求書1(Sheet2)へ、
9/2 ▲▲デザイン費 ▲▲▲円 1式 ▲▲▲円
の内容は請求書2(Sheet3)へ、
9/3 □□デザイン費 □□□円 3点 □□□円
の内容は請求書3(Sheet4)へ、自動的に入力されるようにしたいのです。
必要な要素として、
1. Sheet1のリストの項目が増えるたびに自動的に請求書(Sheet2)をコピー&末尾に移動
2. 新たにできた請求書(Sheet3以降)へSheet1に追加した内容が反映される
3. もし可能なら新たにできたSheet名を請求書1、請求書2、請求書3と連番にしていきたい
といったようなことが出来たらなと思っています。
最初から請求書を大量に量産しておけばこんな複雑なことをしなくて済むのでは?と思いますが
空白の請求書の印刷などの事故を防ぐために出来ればその都度新規で請求書を作成したいです。
まったくの初心者なので、出来ること出来ないことがいまいちわからずこのような質問になりましたが、上記1.~3.の段階を踏まずとももっとスマートな方法があればお教えいただけると助かります。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
No1です。
画像を添付いただきましたが、残念ながらほとんど読めません。
位置などが変わっても要領は同じなので、以下の仮定のもとにサンプルとして回答しておきます。
仮定してた内容は、
受注一覧のリストがあるシートの名前は「受注リスト」で1行目はタイトル、2行目から実際のデータが記入されているものとします。
リストのA列は、重複することのないID(または番号など)で、これで各受注項目を特定できる仕組みになっているものとします。(ご提示の例の場合だと単純な連番のため、行番号に変えられるので無くてもよいのですが、そのまま利用することにします)
請求書のフォーマットはもっと読めませんが、ID(番号)を入力する欄がA1セルにあると仮定しました。
表示するサンプルとして、フォーマットシート内のC13セルに品名?(受注シートのC列にある項目)をA1セルの内容に応じて表示するものとします。
フォーマットシートのC13セルに
=IFERROR(VLOOKUP($A$1,受注リスト!$A$2:$F$100,3,0),"")
の関数式を入力すると、A1セルの番号に応じた値が表示されるようになります。
(対応する番号が無い場合や、A1セルが空白等の場合は何も表示されません)
エクセルのバージョンによってはIFERROR関数が使えない場合がありますが、その場合は
=IF(ISERROR(VLOOKUP($A$1,受注リスト!$A$2:$F$100,3,0)),"",VLOOKUP($A$1,受注リスト!$A$2:$F$100,3,0))
という関数式にしても同じ結果が得られます。
(ひとまず、100行目までが対象になるようにしてあります)
他の項目に関しても、参照する位置(列)が変わるだけで要領は同じだと想像します。
上の例は、VLOOKUPという、表を参照する時に用いられる関数を利用しているだけですが、VLOOKUP関数の説明は、ヘルプやネットで検索すると数多く見つかると思います。
以下に、解説しているサイトの例を挙げておきますが、ご自身でも検索なさってみてください。
http://kokoro.kir.jp/excel/vlookup-false.html
https://allabout.co.jp/gm/gc/297725/
>マクロを作成すれば対応が可能
>こちらもご教示頂けると幸いです。
マクロはいわば専用のプログラムですので、機能をきちんと決めて作成しないと、役に立つものにはなりませんし、サンプルをもとにすれば他のものが作成できるというものでもありません。
例えば、上の例で関数式がセットできているとして、番号1~3のものを順に印刷するごく簡単な例を示しておきます。
マクロで行っているのは、「A1セルの値を順に変えながら印刷する」という簡単な内容です。
Sub Sample()
Dim i As Long
For i = 1 To 3
Range("A1").Value = i
ActiveSheet.PrintOut Copies:=1, IgnorePrintAreas:=False
Next i
End Sub
迅速な対応ありがとうございました!
画像が読めなかったとのこと、大変失礼いたしました。
具体例を挙げて頂けたので何とかなりそうです!マクロは難しそうですね…。
こちらを参考に作ってみたいと思います。ありがとうございました!
No.1
- 回答日時:
こんにちは
使い方をわかっていませんので、いらぬおせっかいかもしれませんが・・・
各請求書をシートにして残しておく必要があるのでしょうか?
というのも、内容的には定型書式に差し込み印刷的に数項目が可変であれば良さそうに思われるからです。
ご質問の通りだと、受注リストが100行あると100シート+αのシート数のブックになることになりますが・・・?
受注リストに必要な内容が集約されているのだと推測しますので、請求書シートは印刷時のフォーマットとして1つだけ存在するようにした方が明快なように感じます。
例えば、受注リストの各行(1行でひとまとまりと思いますので)にIDを振っておきます。
(面倒なら行番号で代用することも可能ですが、他の処理などとの関連で、仕事を区別するためにIDを使っているのではないかと想像しますので)
請求書シートに(例えば1行目)ID(または行番号)の入力欄を設けておいて、その内容に該当する項目が自動的に請求書内の必要な各項目に反映されるように、あらかじめ関数式を設定しておきます。
利用時には、入力欄にIDを入れればその請求書が表示されるという仕組みです。
(1行目の入力欄は、もちろん印刷されないように設定しておきます)
この方法だとシートは2枚あれば良いことになります。
基本的には手操作を念頭に記しましたが、月末などに「受注リスト内で、ある月に相当する請求書だけをまとめて印刷したい」などという場合にも、この仕組みを利用して、「順にID欄の値を変えて印刷する」といったマクロを作成すれば対応が可能になります。
※ ご質問への回答にはなっていませんが、こんな方法でもよさそうな気がしましたので。
お門違いの場合は、無視してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 仕事術・業務効率化 使用中のソフトで、インボイス制度に対応する為の作業料が30万以上。普通? 4 2023/06/15 21:26
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Excel(エクセル) 請求書と領収書の作成 4 2022/11/10 16:13
- ヤフオク! ★ヤフオクの出品物が7月31日付けで全て取り消しになってしまいました 2 2022/07/31 14:21
- その他(ビジネススキル・経営ノウハウ) 美大生でデザインをしています。 たまたまとある企業の方にデザインを見てもらう機会があり仕事を依頼され 4 2022/07/05 14:34
- 不動産業・賃貸業 退去費用の請求額を電話のみでお知らせする不動産は多いですか? また見積書や請求書の作成は有料が一般的 4 2023/08/01 12:47
- その他(悩み相談・人生相談) 慰謝料を請求されている私の疑問? ・慰謝料の請求は相手の言い値なのか? ・相手が定かでないのに私に慰 5 2023/04/30 14:54
- 訴訟・裁判 管理会社の光ファイバー対応の虚偽記載。損害賠償金額の目安は? 4 2022/05/29 13:24
- 確定申告 個人事業者が源泉徴収額ありで法人に請求書を出す書き方について 2 2022/06/22 22:03
- 消費税 インボイス制度 2 2022/11/19 14:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelについて教えてください
-
【マクロ】名前を保存する際に...
-
エクセル マクロ チェックボックス
-
Excel 複数列 A列B列C列一致 D...
-
エクセル vbaについて教えてく...
-
エクセルであるセルに数字を入...
-
【Excel】数字を3倍にし、なお...
-
Excel分析ツールでのポアソン回...
-
エクセルVBA、別ブックへ転記す...
-
【マクロ】顧客番号にて一致さ...
-
Excelでセルの値が同じか...
-
(マクロ)データをAブックからB...
-
エクセルを使っていて2024/5/15...
-
エクセル共有したが、アクセス...
-
エクセル②
-
エクセルのデーターが2か月前の...
-
UNIQUE関数が使えないバージョ...
-
INDIRECTを使わず excelで複数...
-
Excelで縦軸の書式を0:00形式の...
-
【マクロ】読取専用のファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
早速返答ありがとうございます!
Excelでそんなことが出来るなんて、目からうろこでした!fujillinさまにご提案頂いた「請求書シートは印刷時のフォーマットとして1つだけ存在するように」したいと思います。
そこで重ねて質問なのですが、
>請求書シートに(例えば1行目)ID(または行番号)の入力欄を設けておいて、その内容に該当する項目が自動的に請求書内の必要な各項目に反映されるように、あらかじめ関数式を設定しておきます。
添付画像左側がリスト、右側が請求書の一部分です。この関数式をいろいろ試してみたのですがうまくいかず…。当てはまる関数式をご教示頂けますか?
>「順にID欄の値を変えて印刷する」といったマクロを作成すれば対応が可能
関数式がわからなかったのでここまで到達していないのですが、こちらもご教示頂けると幸いです。
宜しくお願いいたします!