重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

マクロがわかれば早いのですが、何回読んでもよくわからないので関数だけで頑張りたいです。

顧客データの一覧表があり、そのデータをもとに請求書を作成したいのですが、作業を簡略化するためにフィルター機能を使って必要なデータを抽出し、そのデータをもとに請求書に金額や品目を反映させたいです。
しかし、請求書の方でセルを指定してしまうとフィルター機能で抽出したセルと異なるのでうまく行きません。
なにかいい方法はないでしょうか?
説明がわかりづらくすみません。

質問者からの補足コメント

  • ちなみに、いまはデータをフィルターで抽出し、それを丸々コピーして請求書シートの余白に貼り付け、そのセルを指定してそこからデータを引っ張ってくるという無駄な作業をしています。

      補足日時:2021/07/17 04:02
  • 回答ありがとうございます!
    ②までは理解したのですが、③の引用方法がよくわかりません。
    indexとmatchは請求書に反映する場合どのように使うのでしょうか?
    勉強不足で申し訳ないです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/07/17 07:47
  • Wordを使用するという手もあるんですね。
    調べてみます!

    No.2の回答に寄せられた補足コメントです。 補足日時:2021/07/17 07:55

A 回答 (4件)

1.条件を指定するシートを新たに作る。


2.データシートに作業列を設けて下記を参考に連番を振る。
https://bussiness-skill.com/excel-using/countif/
3.index関数とmatch関数を使って別シートにデータを呼び出す。
https://www.pc-koubou.jp/magazine/40845
この回答への補足あり
    • good
    • 2

①エクセルのデータをデータベースとして扱い、ワードに請求書のひな形を作り、差し込み印刷する方法が一般的ではないでしょうか。


この場合、抽出は簡単ですが、日付や金額など、エクセルの書式の通りに表示させるのが大変な場合があります。
②エクセルの別シートに請求書のひな形を作り、注出こともできます。
この場合印刷欄外に抽出条件として行番号を入力するセルを設けます。
データシートは1行1データとします。
印刷欄内でデータを引用する場所には、
=INDIRECT("Sheet1!C"&A1)
Cは列、A1は抽出する行番号が入っているセルです。「C」の部分のみ印刷項目ごとに変えて作ります。
matchやindexやvlookupも基本的な考え方は同じだと思います。
わかりやすい方法で作ればいいと思います。
    • good
    • 1

別シートのA列に連番をあらかじめ振っておく。

これを利用する。
    • good
    • 1

請求書はWordで作成し、それにExcelからデータを差し込み印刷するのはいかがですか。

この回答への補足あり
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!