table,th,td { border: 1px solid #ccc; font-family: Arial, sans-serif; }
th { background: #eee; }
th, td { padding: 5px 10px; }
th
<table cellspacing="0">
<tr>
<th></th>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
<tr>
<th>1</th>
<td>donkey</td>
<td>4</td>
<td>donkey; donkey-2; donkey-3; donkey-4</td>
</tr>
<tr>
<th>2</th>
<td>cow</td>
<td>3</td>
<td>cow; cow-2; cow-3</td>
</tr>
<tr>
<th>3</th>
<td>chicken</td>
<td>5</td>
<td>chicken; chicken-2; chicken-3; chicken-4; chicken-5</td>
</tr>
</table>
我希望根据A列和B列中的值自动生成C列,C列中的输出数量基本上取决于B列中的值(可以高达10)。
请注意,结果的第一例是没有在最后加上-数字的。
在Excel中可以这样做吗?
正如@JdV所提到的,在VBA中也可以实现。
Sub sAddValue()
Dim lngLast As Long
Dim lngRow As Long
Dim lngLoop1 As Long
Dim strOutput As String
lngLast = Cells(Rows.Count, "A").End(xlUp).Row
For lngRow = 1 To lngLast
If Cells(lngRow, 2) = 1 Then
Cells(lngRow, 3) = Cells(lngRow, 1)
Else
strOutput = Cells(lngRow, 1)
For lngLoop1 = 2 To Cells(lngRow, 2)
strOutput = strOutput & ";" & Cells(lngRow, 1) & "-" & lngLoop1
Next lngLoop1
Cells(lngRow, 3) = strOutput
End If
Next lngRow
End Sub
Regards,