- ベストアンサー
EXECEL【データシートを参照して請求書作成】
はじめまして。エクセル初心者です。よろしくお願いします。 sheet1にデータの表が有ります。ex.↓ A B C D E 1 月 内訳 金額 内訳2 金額 ・・・ 2 4 電気料 1000 使用料 500 3 5 電気料 1500 使用料 200 ・ ・ sheet2には既に請求書の枠が完成しており、 sheet1のデータを参照して,月ごとにsheet2の数値を可変させたいと思っています。 つまり、4月は4月のデータを参照した請求書、5月は5月のデータを参照した請求書を作成したいのです。(参照行の移動???) どのようにすればよいのか自分なりに調べてみましたが分かりませんので、どうぞお知恵を貸して下さいませ。よろしくお願い致します。 なお、説明不足のところがあると思いますが、迅速に対応致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
sheet2の月を入力するところを基準として、 (たとえば、月入力セルをC4セルとして) 各入力欄に =vlookup($C$2,sheet1!$a$1:$e$200,2,0) (内訳) などという計算式を入れてみると、ご要望にかなうかもしれません。
その他の回答 (1)
│ A │ B │ ────────── 1│ 4│月分 │ ────────── 2│電気料│1,000 │ ────────── 3│使用料│ 500 │ ────────── 質問文にある通りの表が次年の3月まで続くとして、 上記の請求書様式、VLOOKUP関数を使うとするなら、 各セル(この場合は、A2・B2・A3・B3)に入る関数は 以下のようなもので良いと思います。 A1セルに入力された数字、上記の場合は4を参照し、 Sheet1より、4月の数値を参照します。 A2=VLOOKUP(A1,Sheet1!A2:E13,2,1) B2=VLOOKUP(A1,Sheet1!A2:E13,3,1) A3=VLOOKUP(A1,Sheet1!A2:E13,4,1) B3=VLOOKUP(A1,Sheet1!A2:E13,5,1) ちなみに、VLOOKUP関数は以下の通りの機能を持っています。 ------------------------------------------------ VLOOKUP(EXCELのHELPから) 指定された 範囲 の左端の列で特定の値を検索し、 範囲内の対応するセルの値を返します。 VLOOKUP関数は、比較する値がデータテーブル(表)の 左端の列に入力され、その位置から指定された列だけ 右にある値を取り出す場合に使用します。 VLOOKUP(検索値, 範囲, 列番号, 検索の型) 検索値:検索の元とする数値、この場合はSheet2のA1=4 範囲:参照する表の範囲、この場合はSheet1のA2:E13 (表のタイトル含めず) 列番号:実際に参照する値の列番号、左から何列目かを入力 4月の電気料の数値1,000の場合は、表の中で2列目なので、2 検索の型:検索値が完全に一致する値だけを検索するか、 その近似値を含めて検索するかを、0or1の数値で決める。 この場合はとりあえず1で良いです。(1は完全一致) ------------------------------------------------ 他の関数や、別の方法もあるかと思いますが、 OKwaveにはもっと詳しい方もみえますので、参考までに! VLOOKUP関数の詳細については、ネットで調べたり、 ヘルプを参照することで、詳しく知ることができると思うので、 がんばってみてくださいね!
お礼
詳しい解説ありがとうございました。 134さんの回答で解決できましたが、これから勉強してdai iさんの方法も試して見ようと思います。
お礼
ありがとうございます。大変助かりました。請求書に通し番号をつけました。そしてその通し番号を請求書シートに入力すると、データシートの通し番号の行のデータが請求書の各セルに反映されるようになりました。 しかし、そのうちデータシートの関数が入っている箇所の数値は請求書シートでは「#REF!」が表示されてしまいます。関数はSUMとROUNDです。この様なセルにもデータシートに表示されているとおり値を表示させるにはどのようにすればよろしいですか? 重ね重ねお手数をおかけしますがよろしくお願い致します。
補足
すみません。検索の範囲の指定が誤っていました。で、エラーが出てました…範囲を改めて入力しなおしたら解消されました。ありがとうございました!!!