[[20180815204156]] 『リスト(プルダウン)の可変と連動について』(Ka2018) ページの最後に飛ぶ

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

 

『リスト(プルダウン)の可変と連動について』(Ka2018)

入力規則のリストの作成について教えてください。
(リストの可変と連動が自動で対応するでようにしたいです。)

シートは「マスタシート」と「入力シート」があり、
マスタシートに以下の表があります。

(マスタシート)
    A      B        C   
1   肉     魚     野菜
2   豚肉    マグロ   トマト
3   牛肉    さんま   キャベツ
4   鶏肉    いわし   レタス
5         さば    きゅうり
6               白菜

入力シートで、A2に品名(肉・魚・野菜)をリストから選択すると、B2では品目に連動した品名(A2が肉なら豚肉・牛肉・鶏肉、A2が魚ならマグロ、さんま、いわし・・・)が入力できるようにしたいです。
(入力シート)
    A      B        C   
1   品目    品名
2   〇〇    ×××

ただし、マスタシートにおいて、品目や品名が必要に応じて、追加されたり削除する場合
(肉の品名に馬肉などが追加、またD列に果物という品目が追加されそれによりリンゴ・みかんなどの品名も追加されるとします。)
があり、マスタシートで品目や品名が追加もしくは削除されても、入力シートが自動的にそれに対応できるようにしたいです。

関数でこれらを行う方法を教えていただきたいです。関数では無理なら他の方法でもよいのですが、どのようにしたらよいのでしょうか?

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 名前定義を使わなかったので長い・・・・。

 =IF($A2="肉",OFFSET(INDIRECT("マスタシート!A2"),,,COUNTA(INDIRECT("マスタシート!A:A"))-1,),
 IF($A2="魚",OFFSET(INDIRECT("マスタシート!B2"),,,COUNTA(INDIRECT("マスタシート!B:B"))-1,),
 IF($A2="野菜",OFFSET(INDIRECT("マスタシート!C2"),,,COUNTA(INDIRECT("マスタシート!C:C"))-1,),$C$1)))

 注)最後の$C$1は、使わない空白のセルを選ぶ事。

 尚、
 >必要に応じて、追加されたり削除する場合
 どんな風になるのか知らんが、間に空白セルは無いものとする。

 先に書いとこ、文字数が結構いっぱいいっぱいなので、この書き方では項目を(調味料とか?)増やせません。

 (BJ) 2018/08/15(水) 23:14

 マスターシートに品目が追加されても、Z列までには収まるものとして。

 B2セルの入力規則(入力値の種類は「リスト」)

 元の値
 =OFFSET(マスター!$A$2,0,MATCH(A2,マスター!$A$1:$Z$1,0)-1,COUNTA(INDEX(マスター!$A:$Z,0,MATCH(A2,マスター!$A$1:$Z$1,0)))-1)
 
(よみびとしらず) 2018/08/15(水) 23:58

 ↑
 マスターシートのシート名は「マスター」やとしてます。
 マスタでっか?
 
(よみびとしらず) 2018/08/16(木) 00:17

質問が長くてすみませんでした。
ありがとうございました。
参考にやってみます。
(Ka2018) 2018/08/16(木) 01:20

 品目の削除で、マスタシートを列ごと削除しても範囲が変わらんように式を変更しました。
 マスタシートのシート名がわかりまへんので、Sheet2やとします。

 元の値
 =OFFSET(Sheet2!$A$2,0,MATCH(A2,Sheet2!$1:$1,0)-1,COUNTA(INDEX(INDIRECT("Sheet2!A:Z"),0,MATCH(A2,Sheet2!$1:$1,0)))-1)

 実際のマスタシートがA列以外から始まっていても、この式のままで。
  
(よみびとしらず) 2018/08/16(木) 01:37

コメント返信:

[ 一覧(最新更新順) ]


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