- ベストアンサー
Excelで2行を1行に結合する方法
- Excelで2行の罫線枠中に上段:空白、下段:文字列とか、上段:文字列、下段:文字列のように様々な罫線枠内を1行に結合したいです。数段、数シートに渡って同様の形式があります。上下に結合する方法を教えてください。
- Excelで2行を1行に結合したいです。具体的には、罫線枠内に上段が空白で下段に文字列がある場合や、上段と下段に文字列がある場合、など様々な形式があります。同じ形式が複数の段落やシートに渡っている状況です。Excelで上下に結合する方法を教えてください。
- Excelで2行の罫線枠内に上段と下段の要素があり、それらを1行に結合したいです。同じ形式が複数の段落やシートで繰り返されています。Excel上で上下に結合する方法を教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#5です。 多列の場合、シートを別にします。元をSheet1として Sheet2に目的のものを出します。Sheet2の書式は書式-セル-配置で「折り返して全体を表示する」にする。 Sheet2のA1に関数式 =IF(MOD(ROW(),2)=0,"",Sheet1!A1&REPT(" ",20-LEN(Sheet1!A1))&CHAR(10)&Sheet1!A2) と入れて、A1で+ハンドルをだし、第13列M列まで複写する。更にA1:M1を範囲指定し、Mで+ハンドルを出し、最終行まで引っ張る。 値を自分自身に複写して、式を消す。 セル結合のVBAは Sub test04() d = Range("A65536").End(xlUp).Row Application.DisplayAlerts = False For i = 1 To d Step 2 For j = 1 To 13 Range(Cells(i, j), Cells(i + 1, j)).Select Selection.MergeCells = True Next j Next i End Sub を実行する。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
例えばA1に「あ」、A2に「い」と値があるとして、A1:A2をセル結合すると、A1だけ残り、A2の値は捨てられます。 (1)これでは困るので、A2のデータをA1にもって来て 結合しなければなりません。 (2)A1に集約されても、それまでのA1:A2の値の上下位置関係を保って欲しいと言うのが要求でしょう。 これを実現するのも一工夫要ります。 (3)セル結合の操作ですが、関数式では出来ません。 関数の本質は、値を扱うもので、セルの挿入・削除・結合・書式・表示形式は設定出来ません。このことを肝に命じておくこと。無理な期待をし勝ちである。 それで沢山有ればセル結合の操作が面倒であるから、VBAででもやらないといけない。CTRL+Yも有り得るかもしれないが、確認メッセージも出る。A1.A2の一方のセルが空白であれば確認メッセージは出ないようである。 (例データ)A1:A4 東京都の知事は誰ですか 石原知事です 弟は誰でした? 裕次郎です。 (関数式) B列の書式を、書式-セル-配置で「折り返して全体を表示する」にする。 B1に=IF(MOD(ROW(),2)=0,"",A1&REPT(" ",20-LEN(A1))&CHAR(10)&A2) と入れる。20は上段の文字数の最大値を見積もったものです。 CHAR(10)を入れて入るところがポイントです。 これで奇数行に、次行と結合した文字列が出来る。 編集-コピー-編集-形式を選択して貼りつけ-値を 自分自身のセルに行い、式を消す。 (VBA) Sub Macro3() d = Range("A65536").End(xlUp).Row Application.DisplayAlerts = False For i = 1 To d Step 2 Range(Cells(i, "B"), Cells(i + 1, "B")).Select Selection.MergeCells = True Next i End Sub これをツール-マクロ-VBEで出るVBE画面のメニューで 挿入-標準モジュールで出る画面に上記をコピペする。 F5キーを押して実行する。 (結果)B1とB3は "東京都の知事は誰ですか 石原知事です" "弟は誰でした? 裕次郎です。" となりました。あと罫線を引いて完成。
お礼
す、すごい!! こんなことが出来るんですね。 大変役に立ちました。 あとは、アレンジしていけばいいですね。 そこで質問なんですが、これは、1列に対して次の1列に表示していますが、複数列を全て行なおうとするとどの様にするのですか。 すばらしい回答を得ても、尚こんな質問する無礼をお許し下さい。 ちなみに、13列です。
- konica
- ベストアンサー率28% (2/7)
「セルを結合して中央揃え」では出来ないのですか?
真中の文字列をみ落してました
補足
度々、ありがとうございます。 中列の上下文字列も、1行にして上下表示にしたいのです。
空列にデータ行分文字を入れます タイトル行を選択し「データ」-「フィルタ」-「オートフィルタ」 ▼で空白以外のセル データをコピーし新シートへ 元シートの内容を削除し戻す A列に1列挿入し降板をふる 降板をコピーし降板の後ろに貼り付ける 全体を選択し、「データ」-「並び替え」でA列を選択する
- cyobin_man
- ベストアンサー率24% (298/1216)
私にはできませんが 1 1行の中に 2行入力できるか? 2 関数などで一気にできるか という意味でしょうか?
補足
早速ありがとうございます。 関数、並び替えなどで、一気に出来ますか?
お礼
無事、実行することが出来ました。 大変ありがとうございました。