プロが教える店舗&オフィスのセキュリティ対策術

エクセルで請求書を作成している初心者です。

請求元データシートには請求先顧客名、商品名、数量、金額が一覧で入力してあります。
そのシートを元データとして、各請求先別シートが70シートあります(70件の請求書を作成)。

元データのA2~A71に顧客名、B2~B71に商品名、C2~C71に数量、D2~D71に金額が入力されており、A社請求シートには下データA2、B2、C2、D2を参照し、B社請求シートにはA3、B3、C3、D3と参照のセルを変えていきたいのですが、シートをコピーすると数式もコピーされてしまい、参照元を手入力で変更していて気が遠くなります。
検索してもよくわからなかったのですが、このシートにはこの行を参照、というように自動で変える数式か方法はありませんでしょうか?

初歩の質問でしたら申し訳ありません・・・。

A 回答 (2件)

請求先のシートの空白セルに、白文字で番号入力欄を作って、それをキーに参照すればいいのでは?



空白セルがA1として

顧客名 =INDEX(請求先元データ!$A$2:$A$71,$A$1)
商品名 =INDEX(請求先元データ!$B$2:$B$71,$A$1)
数_量 =INDEX(請求先元データ!$C$2:$C$71,$A$1)
金_額 =INDEX(請求先元データ!$D$2:$D$71,$A$1)

のようにすればA1のセルに1と入力すれば2行目、70と入力すれば71行目が参照されます。

シート自体をコピーしてもいいし、VBAで番号を変えて印刷するマクロを使うのも可能です。
    • good
    • 0
この回答へのお礼

こんな考え方があったとは!!
簡単にできて、しかもわかりやすくて、本当に助かりました。
ありがとうございました!

お礼日時:2014/04/12 00:02

ご希望の請求書を作成するなら、それぞれのシートを作成するのではなく、1枚のシートに顧客名を入力して(入力規則でドロップダウンリストから選択させるようにする)、以下のようなVLOOKUP関数で自動的に対応するデータを引っ張ってくるのが合理的な対応です(B列の商品名を引っ張ってくる場合)。



=VLOOKUP(顧客名のセル番地,データベースのシート名!A:D,2,0)
    • good
    • 0
この回答へのお礼

経理の方からすべての請求書データをシートごと保存するように言われていて
自分でも非合理的だなと思ってはいるのですが・・・
ご回答ありがとうございました!

お礼日時:2014/04/12 00:03

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

このQ&Aを見た人はこんなQ&Aも見ています