发布网友 发布时间:2022-04-23 03:11
共2个回答
热心网友 时间:2022-06-02 18:17
展开3全部C2单元格输入公式=TEXTJOIN(CHAR(10),1,OFFSET(A2,,,B2))
数组公式, Ctrl+Shift+回车,公式两端出现大括号{}后,下拉。
点C列列标选中C列整列,复制,选择性粘贴为数值,去除公式。再选中B列,点“格式刷”,用刷子刷C列,C列此时变成与B列相同的合并单元格格式,再继续选中C列,鼠标右键,设置单元格格式,对齐,勾选“自动换行”,确定即可达到目的。
热心网友 时间:2022-06-02 18:18
你这个用vba会比较快。
手动的话就得这样:
先复制A列张姓的人名,然后手动点开剪切板,再点击C列编辑栏,再点剪切板里面复制的内容,就可以达到效果了。
不过这样你要手动去操作每个姓名的序列
录了个vba代码,运行下应该会很快:
Sub 宏1()
Dim i, j, m
i = 2
j = Cells(i, 2)
Range("A" & i & ":A" & i + j - 1).Select
Selection.Copy
Range("C" & i & ":C" & i + j - 1).Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = Trim(Cells(i, 1) & Chr(10) & Cells(i + 1, 1) & Chr(10) & Cells(i + 2, 1) & Chr(10) & Cells(i + 3, 1) & Chr(10) & Cells(i + 4, 1) & Chr(10) & Cells(i + 5, 1) & Chr(10) & Cells(i + 6, 1) & Chr(10) & Cells(i + 7, 1) & Chr(10) & Cells(i + 8, 1) & Chr(10) & Cells(i + 9, 1))
m = Application.WorksheetFunction.Count(Range("B:B"))
For q = 1 To m - 1
i = i + Cells(i, 2)
j = Cells(i, 2)
Range("A" & i & ":A" & i + j - 1).Select
Selection.Copy
Range("C" & i & ":C" & i + j - 1).Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = Trim(Cells(i, 1) & Chr(10) & Cells(i + 1, 1) & Chr(10) & Cells(i + 2, 1) & Chr(10) & Cells(i + 3, 1) & Chr(10) & Cells(i + 4, 1) & Chr(10) & Cells(i + 5, 1) & Chr(10) & Cells(i + 6, 1) & Chr(10) & Cells(i + 7, 1) & Chr(10) & Cells(i + 8, 1) & Chr(10) & Cells(i + 9, 1))
Next
Range("C10").Select
End Sub