[[20100109234551]] 『原価計算』(ふみ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『原価計算』(ふみ)Excel2007

 こんばんわ。
 教えて下さい。

 自作で化粧品などを作っているのですが、
 最近分けてほしいとよく言われるようになり材料費を計算しているのですが、
 一度に10種類以上の材料を使うので計算が大変になって(^^;

 材料の価格表をまず作って保存して、
 そのデータを使って、プルダウンで材料を選んで実際に使った量を1ccとか
 入れたらその量の金額が計算されて、
 使った材料すべてを足してくれて原価が出てくるものが作れたらいいなと思います。

 どうぞよろしくお願いします。

 > どうぞよろしくお願いします。
 > こんばんわ。教えて下さい。

 具体的には何を教えてほしいのでしょうか?
 質問の内容が不明です。

 丸投げは掲示板ではあまり好まれません。
 基本的には掛け算と足し算だと思います。
 まずは自分なりにためしてみましょう。

 (えくせる青年)2010/1/10 0:13

 > 作れたらいいなと思います。 

 Sheet2シート
      A     B   C
 1 材料   単価
 2 あああ  200
 3 いいい  300
 4

 A1:B3を選択して、「挿入」−「名前」−「定義」 で「材料一覧」とします。

 Sheet1シート
 A1 セル に入力規則の設定をします。
 入力規則の設定は、「データ」−「入力規則」で
 入力値の種類に「リスト」、元の値に「=材料一覧」とします。

 これでA1セルに材料名が選択できるようになっていると思います。

 B1セルに数量を入力します。1cc の場合は、 1 と入力します。

 C1セルに
 =IF(ISNA(VLOOKUP(A1,Sheet2!A2:B4,2,0)),0,VLOOKUP(A1,Sheet2!A2:B4,2,0)*B1)
 という計算式を設定すればできると思います。

 (原価計算係)


 >Excel2007
 って事なので、ご参考に。。。
  名前の定義は 数式タブ の 定義された名前 グループ
  入力規則 は データタブ の データツール グループ
 にそれぞれ有ります。

 (HANA)

 原価計算係さんの方法だと、入力規則が設定できないので、
 名前の定義を各列単位で行うことにすると、
 1.Sheet2のA1:B3を選択
 2.数式タブの「選択範囲から作成」で、上端行のみにチェックを入れてOK
 3.Sheet1のA1を選択
 4.データタブの「データの入力規則」を選択
 5.設定タブで、入力の種類で「リスト」、元の値に「=材料」としてOK
 6.数式は=IF(OR(ISNA(VLOOKUP(A1,Sheet2!$A$2:$B$4,2,0)),COUNT(B1)=0),"",VLOOKUP(A1,Sheet2!$A$2:$B$4,2,0)*B1)
 といったような感じになると思います。
 なお、Sheet2のA1:B3に材料一覧と名前の定義がされているのなら、数式は
 =IF(OR(ISNA(VLOOKUP(A1,材料一覧,2,0)),COUNT(B1)=0),"",VLOOKUP(A1,材料一覧,2,0)*B1)
 とすることもできそうに思います。  (Hatch)

 > 原価計算係さんの方法だと、入力規則が設定できない

 こちらでは、Excel2003 で確認してますけどね。(普段使っているし・・・)
 Excel2003以下の場合で、説明が間違っているなら指摘してほしいですね。

 ただ、

 > Excel2007

 を見落としていました。環境違いで回答できません。
 退散します。

 (原価計算係)


 > A1:B3を選択して、「挿入」−「名前」−「定義」 で「材料一覧」とします。
 > 入力値の種類に「リスト」、元の値に「=材料一覧」とします。
 これでは2列のリストになっていますが、
 > こちらでは、Excel2003 で確認してますけどね。(普段使っているし・・・)
 Excel2003では設定ができますか? 
   (Hatch)

 > これでは2列のリスト

 原因は、これの説明ですね。
 であれば、最初からそう言っていただければありがたかったのですが・・・

 >> A1:B3を選択して

 は、

 A2:A3を選択して

 の説明間違いです。これでExcel2003では設定できています。

 ご指摘ありがとうございます。まだ間違っているところがあれば、ご指摘ください。

 なお、本当は、この名前定義「材料一覧」を使って、VLOOKUP関数の引数にしたいところです。
 ただし、その場合、OFFSET関数の使用が考えられますが、揮発性関数で毎回再計算されるので、私は、使用しないようにしています。

 (原価計算係)


 最初に「入力規則が設定できないので、」と書いていますので、すぐに理解いただけると思っていました。

 名前を数式に利用するなら、
1.Sheet2のA1:B3を選択
2.数式タブの「選択範囲から作成」で、上端行と左端列にチェックを入れてOK
3.Sheet1のA1を選択
4.入力規則の設定
5.数式は=IF(OR(ISERROR(INDIRECT(A1)*B1),COUNT(B1)=0),"",INDIRECT(A1)*B1)
とすることも可能ではありますが、メンテが面倒な気がします。  (Hatch)

 > 最初に「入力規則が設定できないので、」と書いていますので、すぐに理解いただけると思っていました。

 「(名前定義の範囲が2列になっているから)入力規則が設定できないので、」と書いていただければ、すぐに理解できたと思います。
 理解力が足らずに申し訳ありませんでした。

 > とすることも可能ではあります

 Excel2033では、入力規則に使う名前定義が1列である必要があるので、できないと思うのですが、
 質問者の(ふみ)さんの環境は、Excel2007 ですから、この方法でもできるということなのですね。

 環境違いで私は回答できませんので、このあたりで失礼します。

 (原価計算係)


 あら・・・失礼しました。
 > 2.数式タブの「選択範囲から作成」で、上端行と左端列にチェックを入れてOK
 材料と名前が定義されたところがおかしくなるので、
 2-2.名前の管理で材料を編集して参照範囲を=Sheet2!$A$2:$A$3と直さないといけませんね。
 この「編集をすることが必要」という部分が抜けています。申し訳ありません。
    (Hatch)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.