エクセル2003で製品名およびサブタイプ(プルダウンリストで選択)と個数を入力すると、
部材ごとの必要数量がわかる表を作りたいのですが、どのようにしたらよいでしょうか?
製品名を選択しない行は個数の欄だけ0と表示する または全て空白になり、製品リストは別
シートに作るようにしたいと考えています。
--------------------------------------------------------------------------------------------
[製品名] [サブタイプ] [個数] [部材A] [部材B] [部材C] [部材D]
イ▼ 50 500 0 1,500 2,000
ロ▼ 1 50 40 30 20
ハ▼ 100 9,000 8,000 0 6,000
0
ニ▼ a▼ 300 7,500 10,500 13,500 16,500
--------------------------------------------------------------------------------------------
[部材ごとの合計] 17,050 18,540 15,030 24,520
製品リスト
---------------------------------------------------------------------
[製品名] [サブタイプ] [部材A] [部材B] [部材C] [部材D]
イ 10 30 40
ロ 50 40 30 20
ハ 90 80 60
ニ a 25 35 45 55
ニ b 60 70 80 90
---------------------------------------------------------------------
No.4ベストアンサー
- 回答日時:
シート1では製品名から部材Dまでの項目名がA1セルからG1セルまでに入力されているとします。
作業列としてJ2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(A2="","",IF(B2="",A2,A2&"/"&B2))
シート2ではA1セルからF1セルまでに項目名があり下方にデータが入力されているとします。
作業列としてJ2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(A2="","",IF(B2="",A2,A2&"/"&B2))
なお、サブタイプがある商品名については、その商品名が最初に記載されている行のH列から右横の列にa,b,cなどと入力します。例の場合ですと、商品名がニの行でK5セルにa, Lセルにbと入力します。
以上でシート2での作業は終わりですがシート1では次のような操作を行います。
A2セルから例えばA100までを選んで「データ」から「入力規則」で入力値の種類に「リスト」を選択し、元の値には例えば次の式を入力して「OK」します。
=INDIRECT("Sheet2!A1:A100")
これで、A列では商品名がリスト表示されるようになり、選択できるようになります。
問題はB列です。商品名にサブタイプが無い場合にはリストにサブタイプの名前が表示されずにサブタイプがある場合にのみ名前が表示されることが必要でしょう。そのために次のようにします。
B2セルからB100までを選択したのちに入力規則のリストでは次の式を入力します。
=INDEX(INDIRECT("Sheet2!A:O"),MATCH(A2,INDIRECT("Sheet2!A:A"),0),11):INDEX(INDIRECT("Sheet2!A:O"),MATCH(A2,INDIRECT("Sheet2!A:A"),0),15)
次に部材の価格表示ですがD2セルには次の式を入力し、G2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF($A2="","",$C2*INDEX(Sheet2!$A:$G,MATCH($J2,Sheet2!$J:$J,0),COLUMN(C1)))
以上で完成です。
リストを作るのに手間取ってしまい返事が遅くなりました。 少しうまくいかない所もありましたがなんとか完成できました。 ありがとうございました。
No.3
- 回答日時:
No.2です!
たびたびごめんなさい。
投稿した後、No.1のASIMOV様の数式の方がすっきりしていると思いましたので
便乗させてもらいます。
部材Aだけ数式ですが、
先ほどの表そのまま利用して、
Sheet1の
D2セルを =IF(OR(A2="",C2="",ISBLANK(VLOOKUP(A2&B2,Sheet2!$C$2:$G$6,2,0))),"",VLOOKUP(A2&B2,Sheet2!$C$2:$G$6,2,0)*C2)
としてみてください。
他の部材に関してもVLOOKUP関数の列の部分だけを変更すれば、OKかと思います。
どうも何度も失礼しました。m(__)m
No.2
- 回答日時:
こんばんは!
参考になるかどうか分かりませんが・・・
当方使用のExcel2003での回答です。
↓の画像のように表を作ってみました。
表を参照するに当たってSheet2のC2セルに
=A2&B2 としてオートフィルで下へコピーしています。
まず、リスト表示させる場合
Sheet2のA2~A6を範囲指定して「名前ボックス」に 製品名 としてOK
Sheet2のB4~B6を範囲指定して同様に サブタイプ としてOK
次にSheet1のA2~A10(どこまででも構いません)を範囲指定して
メニュー → データ → 入力規則 のリストを選択
「元の値」の欄に =製品名 としてOK
これでA列のリスト表示は出来るはずです。
同じようにB2~B10を範囲指定 → 入力規則の「元の値」の欄に
=サブタイプ と入力してOK
これでA・B列はリスト表示できるようになりました。
次に各セルに数式を入れていきます。
Sheet1の
D2セル =IF(OR(A2="",C2="",ISBLANK(INDEX(Sheet2!$D$2:$D$6,MATCH(A2&B2,Sheet2!$C$2:$C$6,0)))),"",INDEX(Sheet2!$D$2:$D$6,MATCH(A2&B2,Sheet2!$C$2:$C$6,0))*Sheet1!C2)
E2セル =IF(OR(A2="",C2="",ISBLANK(INDEX(Sheet2!$E$2:$E$6,MATCH(A2&B2,Sheet2!$C$2:$C$6,0)))),"",INDEX(Sheet2!$E$2:$E$6,MATCH(A2&B2,Sheet2!$C$2:$C$6,0))*Sheet1!C2)
F2セル =IF(OR(A2="",C2="",ISBLANK(INDEX(Sheet2!$F$2:$F$6,MATCH(A2&B2,Sheet2!$C$2:$C$6,0)))),"",INDEX(Sheet2!$F$2:$F$6,MATCH(A2&B2,Sheet2!$C$2:$C$6,0))*Sheet1!C2)
G2セル =IF(OR(A2="",C2="",ISBLANK(INDEX(Sheet2!$G$2:$G$6,MATCH(A2&B2,Sheet2!$C$2:$C$6,0)))),"",INDEX(Sheet2!$G$2:$G$6,MATCH(A2&B2,Sheet2!$C$2:$C$6,0))*Sheet1!C2)
として、D2~G2セルを範囲指定した後、オートフィルで下へコピーしています。
以上で希望に近い形にならないでしょうか?
どうも長々と失礼しました。
参考になれば幸いですが、
的外れなら読み流してくださいね。m(__)m
No.1
- 回答日時:
[部材A]がD列とします
D2 =IF($C2=0,"",VLOOKUP($A2&$B2,Sheet2!$C$2:$G$6,2)*$C2)
E2 =IF($C2=0,"",VLOOKUP($A2&$B2,Sheet2!$C$2:$G$6,3)*$C2)
F2 =IF($C2=0,"",VLOOKUP($A2&$B2,Sheet2!$C$2:$G$6,4)*$C2)
G2 =IF($C2=0,"",VLOOKUP($A2&$B2,Sheet2!$C$2:$G$6,5)*$C2)
(違いは後ろの方の2~5だけ)
以下、下にコピー
なお、VLOOKUP を使うため「製品リスト」の方にちょっと細工をします
まず、[サブタイプ]と[部材A]の間に1列挿入し、そこに
=A2&B2
として、下にコピーします
また、[製品名]と[サブタイプ]をキーにして並べ替えしておく必要があります
イ
ニ a
ニ b
ハ
ロ
という感じです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- DIY・エクステリア SANEI トイレ部品 ロータンク密結パッキン がの我がトイレとの互換性を教えてください。 3 2023/07/16 06:22
- 簿記検定・漢字検定・秘書検定 直接材料費 ¥1.000.000 直接労務費 ¥1.500.000 変動製造間接費 ¥300.000 2 2022/11/25 00:27
- 簿記検定・漢字検定・秘書検定 原価って製品"1個"の製造にかかった費用ですか?それとも、製品全体にかかった費用のことも原価というの 3 2023/03/06 06:01
- 工学 みなさん、こんにちは! 機械材料についてのご質問です。 材料強度を考える上でのメリットとデメリットは 1 2022/12/22 15:03
- 営業・販売・サービス 個人で商品を販売する際、自分の使った材料が再販売等の違反になるか否かよくわかりません。 布や木材とい 2 2022/12/21 13:51
- 中途・キャリア さて、社会人になってから13年目。 今まで、機械設計、機械製品の品質管理、部門の経営企画をやってきま 4 2023/07/17 08:59
- その他(パソコン・スマホ・電化製品) エクセル初心者です。 仕事でエクセルを使っていて、普段は素人でもできる簡単な関数を使ったことがある程 1 2022/05/25 11:17
- 財務・会計・経理 1、製造指図書…の製造のため、材料A50000円を出庫し、外出先の工場に加工を依頼した。 なお当工場 4 2022/06/18 10:46
- リフォーム・リノベーション 玄関扉(品番記載致します)の材質を知りたい 4 2023/03/14 00:08
- 食生活・栄養管理 食品の成分材料表示はなどは、一番始めに書かれた順番(多い成分)だと聞きましたが本当ですか? 例、 材 1 2022/11/28 19:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
Excel 日付を比較したら、同じ...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
Outlookを立ち上げたらGoogleロ...
-
outlookのメールが固まってしま...
-
Excelで空白以外の値がある列の...
-
ウィンドウィズ メモ帳で日付だ...
-
Excelに貼ったリンクについて E...
-
Microsoft Formsの「個人情報や...
-
Excelで時間計算(負)
-
microsoft office
-
【Excel VBA】PDFを作成して,...
-
エクセルでXLOOKUP関数...
-
マイクロソフト 一時使用コード...
-
Outlookでの時間指定送信機能に...
-
【スプレドシート】目標達成の...
-
Googleのスプレッドシートでシ...
-
Microsoft Officeを2台目のPCに...
-
MicrosoftOfficeについて質問で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Office 2021 Professional Plus...
-
エクセルで例えば、関数を使っ...
-
Microsoft Formsの「個人情報や...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルで例えば、A1に㈱ベ...
-
理由を教えてください。
-
エクセルでXLOOKUP関数...
-
マイクロソフト オフィスについて
-
VLOOKUP関数について
-
teams設定教えて下さい。 ①ビデ...
-
Googleのスプレッドシートでシ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft365で写真をアルバム...
-
Outlook で宛先が複数の場合の人数
-
Excel テーブル内の空白行の削除
おすすめ情報