我想要实现的是A列和A列中有2个整数。 B在同一排。我想填充C列中的行,以显示两个数字之间的整数增量。
即
A B C D E F G H I J K L
1 10 1 2 3 4 5 6 7 8 9 10
任何帮助将不胜感激。
答案 0 :(得分:0)
假设这是Excel,您可以打开VBE编辑器以使用VBA
这是一个可以运行或通过按钮调用的宏
请参阅代码中的注释,以了解它对数据库填充功能的作用
Sub FillData()
Dim intStopAt As Integer
' Set to cell indicated low end of range
Cells(1, 1).Select
' Fill in "Start At" Number
ActiveCell.Offset(0, 2).Value = ActiveCell.Value
' Retrieve and use stop number to fill in series
intStopAt = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(0, 2).DataSeries Rowcol:=xlRows, Type:=xlLinear, Date:=xlDay, Step:=1, Stop:=intStopAt
End Sub
答案 1 :(得分:0)
以下代码假设您没有标题,A1
中的值始终为1
,B1
中的值是您要计算的数字。
这可以修改为更具动态性,但按原样提问,这应该对你有用。
1)检查号码以计算到(CountTo
)
2)为1 to CountTo
运行循环并自动填充列标题
运行:打开VBE并将此代码粘贴到您希望运行它的工作表上。
Sub Counter()
Dim CountTo As Integer
CountTo = Range("B1").Value
For i = 1 To CountTo
Cells(1, i + 2) = i
Next i
End Sub
答案 2 :(得分:0)
这可以在没有VBA的情况下完成,最初可能不像@ dbmitch的答案那样简洁,因为公式必须达到最大可能的数量。
=A1
=IF(AND(C1<$B1,C1>=$A1),C1+1,"")
然后
根据需要向右拖动/填充。我已经制定了代码,以便您现在可以选择已填充的行(A到任何地方)并填写。
一个简单的解释:
AND
公式检查左边的单元格(对于D1这是C1,对于E1,这是D1等)是否小于结束编号并且大于起始编号。可以进一步检查,我在上面的解决方案中假设数字是正数并且正在增加。
+1
或-1
。blank
作为另一个答案。在这种情况下,您可以使用其他符号(例如x
)并在AND
函数中检查该符号。答案 3 :(得分:0)
你可以用这个:
Sub main()
Dim cell As Range
With Range("A1", Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeConstants, xlNumbers) ' reference column A cells from row 1 down to last not empty one with a "constant" (i.e. not a formula result) numeric content
For Each cell In .Cells 'loop through referenced range
cell.Offset(, 2).Resize(, cell.Offset(, 1).Value - cell.Value + 1).FormulaR1C1 = "=COLUMN()-COLUMN(C3)+RC1" 'write proper formula in current cell adjacent cells
Next
.CurrentRegion.Value = .CurrentRegion.Value ' get rid of formulas and leave values only
End With
End Sub