ここでは VBA は必要ありません。必要なのはヘルパー ロジックと INDEX/MATCH 式だけです。
オプションは一意である必要があり、1 行のオプション グループごとに 1 つの要素のみが含まれます。あなたの例では、オプション 5、6、および 9 を分割する必要があることを意味します。それぞれに複数の年齢層があるためです。黄色の線を参照してください。
オプションを何らかの方法でエンコードする必要があります。たとえば、0-4=4、5-9=9、10-14=14、男性 = M などです。その後、各オプションを 1 つの一意の 3 文字のテキストに変換できます。たとえば、オプション 1 は になります4ML
。次の例では、次の式を使用してセル J3 の ID を作成しています。
=INDEX($B$1:$D$1,MATCH("x",B3:D3))&INDEX($E$1:$F$1,MATCH("x",E3:F3))&INDEX($G$1:$ I$1,MATCH("x",G3:I3))
- また、ドロップダウンからの選択をコードに変換する必要があります。黄色のセルの式は次のとおりです。
=INDEX($B$1:$D$1,MATCH(M1,$B$2:$D$2,0))
&INDEX($E$1:$F$1,MATCH(M2,$E$2:$F$2,0))
&INDEX($G$1:$I$1,MATCH(M3,$G$2:$I$2,0))
- 次の式を使用して、コードをオプションに変換するだけです。
=IFERROR(INDEX($A$3:$A$16,MATCH(M4,$J$3:$J$16,0)),"この選択にはオプションがありません!")
選択したオプションが利用できない場合は、小さなテキストが表示されることに注意してください。
理解を深めるために、ここでサンプル ファイルを見つけることができます。