スクリーンショットに示すように、列 1 と列 2 を連結するのに助けが必要です。
列 2 には、おそらく「青」などのエントリがさらにあります。「6 インディゴ」エントリの下から、「1 青」「2 青」「3 青」などと入力したいと思います。
意味が通じるといいのですが。Excel は初めてなので、すぐに解決する必要があります。
編集: 列 A のすべてを列 B のすべてと結合する必要があります。
答え1
セル C2 に以下の数式を入力し、数式を C13 (または任意のセル) まで入力します。
=OFFSET($A$2,MOD(ROW()-2,COUNTA(A:A)-1),0)&" "&OFFSET($B$2,INT((ROW()-2)/(COUNTA(A:A)-1)),0)
説明:
最初の部分では、OFFSET($A$2,MOD(ROW()-2,COUNTA(A:A)-1),0)
列 A から適切なセルを検索します。 COUNTA(A:A)-1
列 A の項目数をカウントします (ヘッダー、つまり行 1 の場合は 1 を減算)。 MOD(ROW()-2,COUNTA(A:A)-1)
現在の行 (C2...C13) を列 A の項目数で割ったときの剰余を計算します。この値は、セル (C2...C13) では (0,1,2,3,4,5,0,1,2,3,4,5) として表示されます。これらの値を参照にオフセットすると、$A$2
列 A の正しい行が返されます。
&" "&
間にスペースを挿入します。
2 番目の部分はOFFSET($B$2,INT((ROW()-2)/(COUNTA(A:A)-1)),0)
最初の部分と似ています。ただし、剰余ではなく商を計算します。(C2..C13) の関連値は (0,0,0,0,0,0,1,1,1,1,1,1) になります。これらを参照にオフセットすると、$B$2
「Violet」または「Indigo」、またはそれに続く任意のテキストが返されます。
答え2
これを完了するために私が考えられる唯一の方法は、Excel のマクロの背後にあるプログラミング言語である VBA (Visual Basic for Applications) スクリプトを記述することです。
その背後にあるロジックは次のようになります (申し訳ありませんが、すぐにコードは思い出せません)。
x = 0
ForEach entry in column a
ForEach entry in column b
Set value of cell c1 + x
x + 1