重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

EXCELでセルの結合に関する2つの質問(+α)があります。

1.セルの結合を解除した際、セル内の元テキストは結合していた
セルの中で一番上のセルにのみ残りますが、その下のセルにも同じものを
一括で反映させるための関数はどのようなものが適当でしょうか?

2.どうしても見栄えのためにセルの結合をしたいことがありますが
そうすると並び替えができず不自由です。解決法はないのでしょうか?

α.上記作業中に疑問に感じた余談ですが、オートフィルを使うと
連続データになるときと同じデータが反映される場合があり、
どういう場面で使い分けられているのかわかりません・・

以上、いろいろと申し訳ございませんがご指導よろしくお願いいたします。

A 回答 (5件)

>1


セルの結合を解除した時点では、結合されていた全てのセルが選択されていて、
そのセル範囲の左上隅(テキストが残るセル)がアクティブになっていますよね。

 そのまま状態で、数式バー(数式を入力する欄)をクリック ⇒ Ctrlを押しながらEnter 

でいかがでしょう?

>2
私もそれで随分苦労しました。
結合せずに全てのセルを埋めておいた方が、データとしては何かと取り回しが良いのですが、
プリントアウトを見るだけの人達はそれでは納得してくれませんからねぇ…。

代替の方法として[条件付書式を使い見た目だけ結合]してしまう方法があります。
具体的な方法はケースバイケースで一般的な説明は難しいのですが、
基本的には、自セルと上下隣のセルの値が一致するかどうかによって、
フォント色や罫線を制御します。

最もシンプルな例
1.B2セルからB20セルの外側に普通の罫線を引き、背景色白で塗り潰し、フォント色を白にする。
2.B2セルからB20セルについて、条件付書式を下記のように設定する
 数式が:=B1<>B2 / 書式:上辺罫アリ,フォント色自動
3.適当なデータを入力し、並べ替えたりして挙動を確かめてください。
(※B1からではなくB2からであることに注意)

試してみるとお分かりのように、
・連続データの区切に罫線が表示され、
・連続データの最初のデータのみ黒字で表示されます。
つまり「結合して上詰め」と同じ見た目です。
そのまま並べ替えもできます。

もちろん、条件付書式でやる以上、太罫線・二重罫線は使えませんし、
「縦位置は中央揃えにしろ!」とか言われると困っちゃいますが。

いろいろ制約はあるものの、
「再左列の値の変化に応じて自動的に表全体の極細罫と通常罫を引きなおす」
といった使い方もできますから、覚えておいて損はないかもしれません。

>3
オートフィル機能は、細かく言うと相当に奇妙な挙動をするようで、
私も一口では説明しかねますし、このサイトでもかつて論議になっていましたが、
とりあえず解決済みのようなので省略します。

長乱文陳謝。
    • good
    • 0
この回答へのお礼

色々ご説明ありがとうございました!
参考かつ励みになりました。

お礼日時:2007/09/15 13:17

#2です。


>2については半ば諦めていましたが、最新のエクセルでは実装済みなのですね。
私の言ったことが誤解されたようです。
エクセルは作られてから、長らくセル結合はできませんでした。やっとエクセル97からできるようになり、表計算の機能の中で歴史が浅い機能です。ですからまだ、ユーザーのきめ細かいニーズを取り入れるまでに改善されていません、ということをいいたかった。
ーーー
セル結合は
(1)見た目はセルが結合される。
(2)値は最上且つ最左のセルに残す
(3)それ以外のセルの値は空白にする。
(4)結合されたセルかは
Sub test02()
For i = 1 To 5
If Cells(i, "A").MergeCells = True Then
MsgBox Cells(i, "A").Address
End If
Next i
End Sub
のようなのでわかる。
(5)基準セルは
Sub test03()
For i = 1 To 5
If Cells(i, "A").MergeCells = True Then
MsgBox Cells(i, "A").MergeArea.Item(1).Address
End If
Next i
End Sub
のようなので判る。
ーーー
セル結合を解いたというイベント(意味が判らなければWEB照会のこと)
は無いので、コマンドボタンをシートに張り付け、そのクリックイベントに
Private Sub CommandButton1_Click()
Dim r As Range
Dim cl As Range
d = Range("a65536").End(xlUp).Row
For i = 1 To d
If Cells(i, "A").MergeCells = True Then
Set r = Cells(i, "A").MergeArea
x = Cells(i, "A").MergeArea.Item(1).Value
Cells(i, "A").MergeCells = False
For Each cl In r
cl = x
Next
End If
Next i
End Sub
を記述する(コピペする)と
質問の1の解決になりそう。
ただ十分なテストはできてません。
テスト例A1:B11 A8,A9はわざとデータを入れてない。
A列  B列
124124
124
124
124
asas
as
as


34573457
3457
A列が初め上記B列のようであるとき、コマンドボタンをクリックすると上記A列のように自動でなります。
しかし上記のコードはVBAとして、初級の内容ではないので、今まで経験の無い場合難しいでしょう。
    • good
    • 0
この回答へのお礼

誤解してしまったようで失礼いたしました。
ありがとうございました!

お礼日時:2007/09/15 13:18

> 1.セルの結合を解除した際、セル内の元テキストは結合していた


セルの中で一番上のセルにのみ残りますが、その下のセルにも同じものを

すぐ下のセルを選択して「Crtl」キーを押しながら「D」キーを押してください。「編集」→「フィル」→「下方向へコピー」のショートカットキーです。

左隣のセルをコピーする場合は、「Ctrl+R」(右方向へコピー)です。

> 2.どうしても見栄えのためにセルの結合をしたいことがありますが
そうすると並び替えができず不自由です。

残念ながら、その解決法を知りません。

> α.上記作業中に疑問に感じた余談ですが、オートフィルを使うと
連続データになるときと同じデータが反映される場合があり、

1) セル番地と「ツール」→「オプション」→「ユーザー設定リスト」に登録されているものは、無条件で連続データになります。

2) 基本的にオートフィルはコピー機能だと思います。

3) 連続データになり得る数値などでは、「Ctrl」キーを押しながら、オートフィルすると、連続データが表示されます。

4) スマートタグを使わないでも、右ボタンを使ってオートフィルするとボタンを離したと同時に「セルのコピー」「連続データ」などのショートカットメニューが表示され、選択したメニューが実行されます。

この回答への補足

(下記お礼の補足です)
>セルの結合を解除した部分についてオートフィルすると
勝手に連続データになってしまいます。

no.1さんがご回答くださっていました。
ご迷惑おかけいたしました。

補足日時:2007/09/14 22:56
    • good
    • 0
この回答へのお礼

ご丁寧なご回答、ありがとうございました。
αの質問について、再度確認してみたのですが
確かに標準はコピー機能のようなのですが
セルの結合を解除した部分についてオートフィルすると
勝手に連続データになってしまいます。
なんだかよくわかりませんがもう少し自分でも調べてみようと思います。

お礼日時:2007/09/14 22:53

1.エクセルの仕様ではこれはできません。

また質問者のニーズが一般的ともいえないと思います。
>関数はどのようなものが適当でしょうか?
もともとできません。関数の問題にはできません。
VBAででも凝ったことをやらないとダメです。
2.セル結合は最近のエクセルバージョンでの追加機能で、意に満たない点はあるでしょうが、現状は仕様という他ありません。良い方法はありません。
セル結合せず、各行にデータを残し、真中の行以外の文字フォントを白色にするぐらいです。
α。
CTRLを押しつつドラッグする、などの場合でしょうか。
日付の場合はドラッグすると連続日付になります。
WEBで「エクセル オートフィル」で照会して読んでください。
    • good
    • 0
この回答へのお礼

2については半ば諦めていましたが、最新のエクセルでは実装済みなのですね。
知りませんでした。

1も方法がないんですね・・。
現在やっている方法は、if関数を使用、該当の列とは他の列に、
「セルが空白であれば上のセルの数字を適用する」という簡単な関数を利用し
それを繰り返し何回か別の列で行っていました。
最後にそれらを組み合わせるという方法です。
とても面倒だし、なんだか効率よく他に方法がありそうに
勝手に思っていました・・

ありがとうございました。

お礼日時:2007/09/14 22:44

1.の場合マクロでも使えばできると思いますが・・・仕方が無いです。


2.も仕方ないと思います・・
3.については、整数で1・2・3・・・・のように連番を打つ場合は、そのままでは、同じデータが反映されますが、CTRL+ですると連番が打てます。
それ以外で、曜日、月数、干支、和月等はそのままで連番となります。
また、第1、1番のように数字がはいた文節の時はそのままで連番となります。同じパターンをコピーする場合はCTRL+で同じデータが反映されます。

言い換えれば・・・・
数値がはいたセルをコピーする場合は、そのままでは、数値部分が連番となって反映されます。CTRL+ですると同じデータが反映されます。

以上です。
    • good
    • 0
この回答へのお礼

お礼が前後して申し訳ございません。
現在、1についてはNO.2さんのお礼で書かせていただいた方法を
とっていましたが、それをマクロで実行するのが良さそうですね?
(勝手な想像)
マクロは使ったことがありませんが、試してみようと思います。

3については現在扱っていたデータの数字が勝手に連番になって
困っていたのですが、「数値がはいたセル」ということで
なんとなくわかった気がします。ありがとうございました。

お礼日時:2007/09/14 23:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!