アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelのセルの結合がうまくいかずに困っています。

あ A
か A
さ A
た B
な B
は B

上の文字はすべてそれぞれのセルに入っているとします。例えば「あ」はA1で「な」はA5です。
これを以下のような表にしたいのです。

あ 
か A


な B


このとき、「あかさ」は同じセル(つまり、A1)、AはセルB1
また、「たなは」はA2、BはセルB2

単純に結合すると、「あ  」 と、他のセルの文字が消えてしまうので困っています。
解決法を教えていただければありがたいです。

A 回答 (5件)

B列のデータが同じものを1つのセルに結合したデータをセル内改行で表示したいならたとえば以下のような操作でできます。



C1セルには「=A1」と入力し、C2セルに以下の式を入力し下方向にオートフィルコピーします。
=IF(B1=B2,C1&CHAR(10)&A2,A2)

D2セルに以下の式を入力し下方向にオートフィルコピーします。
=IF(B2=B3,"",IF(B1=B2,C1&CHAR(10)&A2,A2))

E1セルに以下の式を入力して下方向にオートフィルコピーします。
=IF(D1="","",B1)

次に「データ」「フィルタ」でE列の▼をクリックして「空白セル」のチェックを外し、希望のデータけを表示して、抽出された範囲をコピーし、E列のフィルタ解除してG1セル(または新規シート)に「貼り付け」ます。
最後にG列のセルの書式設定の表示形式タブで「折り返して全体を表示する」のチェックを入れます。
「Excelでセルを結合してデータをまとめ」の回答画像4
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
シンプルな式で、なるほど!と思いながら書いていきました。
最後に抽出されたデータは重複するセルを削除(=空白セルの削除)できれいにまとめられました。
大いに利用させていただきたいと思います。
本当にありがとうございました。

お礼日時:2012/05/04 20:42

No4の回答の訂正と補足です。



オートフィルタで抽出した数式データをコピーして貼り付けるときは「G1セルで右クリックし「形式を選択して貼り付け」で「値」を選択してください。

単純に縦の複数のセルの値を1つのセルにまとめたいだけならフィル(文字の割り付け)の機能を利用することができます。

A列の列幅を結合した文字列が1行で表示できるセル幅になるように十分広く設定しておいて、結合したいセル範囲を選択し、ホームタブの「フィル」「文字の割り付け」(Excel2003なら「編集」「フィル」「文字の割り付け」)をしてみてください。
    • good
    • 0

No.1です。

質問文や補足で、条件がきちんと示されれば、できないとは思えません。

文字列を結合すべきセルの数が多くて、式を書くのが困難であれば、オートフィルの機能を併用してください。例えば、次のようなデータがあります。

   A  B
1  あ
2  い
3  う
4  え
5  お
6  か
7  き
8  く
9  け
10 こ

(1)B1とB2セルに次の式を入力。

B1
=a1

B2
=b1&"
"&a2

(2)B2にカーソルを置き、カーソル枠の右下の角をダブルクリック(オートフィル)。

(3)結合された文字列が算出されているB10をコピーして他のセルに「形式を選択して貼り付け」する。続いてそのセルに対して「折り返して全体を表示」を設定する。

以上により「あ~こ」が改行付きで1つのセルに入力されたデータが得られます。何千個であろうが、オートフィルなので、労力は大してかかりません。
    • good
    • 0
この回答へのお礼

回答有り難うございます。
文字列をまとめる方法としてはとても重宝します。
しかし、これを分類ごとにしなければならなくて……。
ありがとうございました。

お礼日時:2012/05/04 20:40

こんばんは!


すでにデータが入っているセルを結合してしまうと、アラート画面が出て
質問にあるような状態になると思います。
(結合セルの最初のデータのみ表示)

そこで結合ではなく、B列データが同じものを一つのセルにまとめる方法はどうでしょうか?
VBAになってしまいますが・・・
一例です。

画面左↓の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
尚、データは1行目からあるとしています。

Sub test() 'この行から
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Cells(i, 2) = Cells(i - 1, 2) Then
Cells(i - 1, 1) = Cells(i - 1, 1) & vbCrLf & Cells(i, 1)
Range(Cells(i, 1), Cells(i, 2)).Delete (xlUp)
End If
Next i
Columns("A:B").HorizontalAlignment = xlCenter
Application.ScreenUpdating = True
End Sub 'この行まで

※ 一旦マクロを実行すると元に戻せませんので、別Sheetでマクロを試してみてください。

参考になりますかね?m(_ _)m
    • good
    • 0
この回答へのお礼

回答有り難うございます。
こちらのマクロ、試させて頂きました。一発でデータが整理されて非常に助かりました。
しかし、大量のデータだったため数時間単位で時間がかかってしまいました。
しかしながら、マクロを学んでみようというキッカケになりました。ありがとうございました。

お礼日時:2012/05/04 20:37

数が少なければ、手動で文字列を切り貼りしてください。

改行の文字列は、Ctrl+Enterで入ります。数が多ければ、参考URLの方法で文字列を結合してください。

参考URL:http://oshiete.goo.ne.jp/qa/7451736.html
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
例ではAが3つBが3つですが、実際は行の数が変則的なので、参考URLの式では対応できません。
分類(AやBのような)だけで1000弱あるので手動でするわけにもいかず……
また試行錯誤してみます。

お礼日時:2012/05/03 17:38

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