![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.3ベストアンサー
- 回答日時:
No.1です
前回の質問があったんですね
CONCATENATE関数を使っているようなので習って
=SUBSTITUTE(TRIM(CONCATENATE(INDEX(C:C,ROW(C1)*3-2)," ",INDEX(C:C,ROW(C1)*3-1)," ",INDEX(C:C,ROW(C1)*3)))," ",CHAR(10))
3行分を一つのセルに収めています
この回答へのお礼
お礼日時:2016/05/15 18:04
ありがとうございます。
とはいうものの、
まだ、検討は終わったのですが、
組み込みがまだできていません。
教えて頂いた方向ですすめたいと思っています。
No.4
- 回答日時:
こんにちは!
すでに回答は出ていますが、VBAでの一例です。
元データはSheet1のB・C列1行目からあり、Sheet2のA・B列に表示するとします。
Alt+F11キー → メニュー → 挿入 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から//
Dim i As Long, k As Long, cnt As Long
Dim myStr As String, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Range("A:B").ClearContents
With Worksheets("Sheet1")
For i = 1 To .Cells(Rows.Count, "C").End(xlUp).Row
If .Cells(i, "B") <> "" Then
cnt = cnt + 1
wS.Cells(cnt, "A") = .Cells(i, "B")
myStr = .Cells(i, "C")
k = i
Do
k = k + 1
If .Cells(k, "B") <> "" Or _
k = .Cells(Rows.Count, "C").End(xlUp).Row + 1 Then Exit Do
If .Cells(k, "C") <> "" Then
myStr = myStr & vbCrLf & .Cells(k, "C")
End If
Loop
wS.Cells(cnt, "B") = myStr
i = k - 1
End If
Next i
End With
wS.Activate
End Sub 'この行まで//
※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。
※ B列のデータ(数値)が入っている行のC列は空白でない!という前提です。m(_ _)m
No.2
- 回答日時:
こんにちは
前回(?)と同じ内容だけれど、式をオートフィルできるようになさりたいという意味でしょうか?
https://oshiete.goo.ne.jp/qa/9273131.html
(セルの位置関係が変わっているようではありますが・・・)
>INDEX,ROW,INTを組わせて色々試してみたのですが、
>どうもうまくいきません。
参照関係に規則性がありますので、計算しようと思えば可能ですよ。
但し、式が長くなる傾向は否めませんので、効率的なのかどうかはわかりませんが。
すでにANo1様が素晴らしい回答をなさっていらっしゃいますので、それをパクらせていただいて、おまけとして作業列を使わない例を・・・
セルの位置関係が影響しますので、関係が変わる場合は計算を調整する必要があります。
今回例示のC列を参照する場合として、14行目から1~3行目を参照するには
1行目は ROW()*3-41 → 14*3-41=1
2行目は ROW()*3-40 → 14*3-40=2
3行目は ROW()*3-39 → 14*3-39=3
のような式にしておけば、15行目からの参照では4~6行目を参照するようになります。
(ANo1様の回答でも同じような参照設定をなさっていますよね)
これを提示されている式に代入すれば、式は長くはなりますが・・・
E14に以下を代入して、下方にオートフィルすることで作業列なしでも計算可能になります。
=SUBSTITUTE(TRIM(INDIRECT("C"& ROW()*3-41)&" "&INDIRECT("C"& ROW()*3-40)&" "&INDIRECT("C"& ROW()*3-39))," ",CHAR(10))
No.1
- 回答日時:
回答を入力する表2にしたいのかな?
作業列D1セルに
=IF(B1<>"",C1,INDEX(D:D,ROW()-1)&" "&C1)
下へオートフィル
E14セルから連番
F14セルに
=SUBSTITUTE(TRIM(INDEX(D:D,E14*3))," ",CHAR(10))
下へオートフィル
![「『複数のセルの内容を複数行にして1つのセ」の回答画像1](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/6/655143_5734162db1229/M.jpg)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- Visual Basic(VBA) ExcelVBAの複数指定範囲の構文 2 2022/05/26 22:39
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) <スプレッドシート>IF関数の複数条件について 5 2022/10/27 14:38
- Excel(エクセル) 名前と日付が一致する箇所にフラグを立てる関数が知りたいです 4 2022/08/11 02:24
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) Excelで数を数える、どのようにすれば効率的でしょうか 12 2023/05/14 08:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
SUMに含まれる範囲から特定のセ...
-
Excel上でのデータ数字が連番で...
-
数式が入ったセルを含めて、数...
-
列の数字に100をかけたい
-
エクセルで表示されている数字...
-
エクセル:横長の表を改行して...
-
エクセルのsumifでかけ算してか...
-
HYPERLINKとADDRESSとMATCHの組...
-
C列にF列の担当者(A〜)を順番...
-
入退社日より各月末の在籍者数...
-
エクセルで1列全部10倍したい
-
エクセルでセルの値分の個数の...
-
複数条件での順位表示
-
スペースとスペースの間の文字...
-
フィルターかかってる時のSU...
-
銀行の振込み手数料をエクセル...
-
セルをダブルクリックで、画像...
-
時間を「昼間」と「夜間」に分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
数式が入ったセルを含めて、数...
-
SUMに含まれる範囲から特定のセ...
-
列の数字に100をかけたい
-
Excel上でのデータ数字が連番で...
-
別のセルに値が入力されたら、...
-
エクセルで表示されている数字...
-
エクセルでセルの値分の個数の...
-
エクセル:横長の表を改行して...
-
スペースとスペースの間の文字...
-
HYPERLINKとADDRESSとMATCHの組...
-
Excelのセル内文字の並び替えに...
-
時間を「昼間」と「夜間」に分...
-
エクセルで曜日に応じた文字を...
-
エクセルで、毎日の走行距離(...
-
入退社日より各月末の在籍者数...
-
エクセルのsumifでかけ算してか...
-
Excelで五十音順に並べ替えたい
-
エクセルで1列全部10倍したい
おすすめ情報