Excelで列を連結する


0

スクリーンショットに見られるように、列1と2を連結するのに助けが必要です。

ここに画像の説明を入力してください

列2には、おそらく「青」のエントリが追加されます。「6 Indigo」エントリの下から始まる「1 Blue」「2 Blue」「3 Blue」などが必要です。

それが理にかなっていることを願っています!Excelに非常に新しく、すぐにこれを整理する必要があります。

編集:すべての列Aと列Bのすべてを組み合わせる必要があります


わかりやすくするために、列Aのすべてを列Bのすべてと結合しますか?
LDC3

はい:)投稿に追加されました。
mj_s 14

VBAではかなり簡単な作業です。それはあなたにとって選択肢ですか?
TheUser1024

それを使用する方法さえ知りません、それを試してみてください。
mj_s 14

回答:


0

セル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から適切なセルを検索します。列A COUNTA(A:A)-1のアイテムの数をカウントします(ヘッダーの1つマイナス1行)。 MOD(ROW()-2,COUNTA(A:A)-1)現在の行(C2 ... C13)を列Aのアイテム数で除算したときの剰余を計算します。この値は(0,1,2,3,4,5,0,1,2,3、 4,5)セル内(C2 ... C13); これらの値を参照にオフセットすると$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,1)です。これらを参照にオフセットすると、$B$2「Violet」または「Indigo」またはそれに続くテキストが返されます。


0

これを完了すると思う唯一の方法は、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

いいね!私はVBAについて何の手掛かりも持っていません。でもありがとう!
mj_s 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.