質問: 項目選択肢を一覧にするエクセル関数について お世話になっております。添付画像のように、エクセルで項目選択リスト ⇒ 項目選択肢別の一覧リストを作りたいのですが、どのような手法がありますでしょうか。vbaなどは敷居が高いので、できるだけ関数で、なるべく簡素に作る方法がございましたら教えて下さい。よろしくお願いいたします。
回答: ecマスターズの田中です。簡素とはいきませんが、関数で作成する方法はございます。考え方としては、g4・h4セルにそれぞれ最初の選択肢を設定し、g5(h5)、g6(h6)、......と1個ずつ下に移動するにつれ、選択肢aの場合:移動しても同じ選択肢を表示し、選択肢bの個数分下に移動したら、次の選択肢を表示する(赤赤赤→青青青→黄色黄色黄色→......)選択肢bの場合:移動ごとに1つ下の選択肢を表示し、選択肢bの個数分下に移動したら、また先頭に戻る(sml→sml→sml→......)という考え方で関数を組んでいただく形になります。たとえば、いただいたスクリーンショットの場合、b2セルにカラーの選択肢数(4)、c2セルにサイズの選択肢数(3)を記載しておき、g4セルに=offset($b$4,rounddown((row()-row($g$4))/$c$2,0),0) (※8/31 14:54 数式の誤りを修正)h4セルに=offset($c$4,mod(row()-row($h$4),$c$2),0)とご記載の上、セルを下にコピーしてください。カラー・サイズそれぞれの最初の選択肢を起点として、下にいくつ動かすかを計算し、offset関数で移動させる、という仕組みです。